本节书摘来异步社区《java ee核心框架实战》一书中的第2章,第2.5节,作者: 高洪岩,更多章节内容可以访问云栖社区“异步社区”公众号查看。
java ee核心框架实战
在mybatis中也支持将sql语句当成变量传入。
新建名为sqlstringvar的java项目,映射文件userinfomapping.xml的内容如下。
public class run {
public static void main(string[] args) {
try {
hashmap mapparam = new hashmap();
mapparam.put("id", 5);
mapparam.put("ordersql", "id desc");
string resource = "mybatis-config.xml";
inputstream inputstream = resources.getresourceasstream(resource);
sqlsessionfactory sqlsessionfactory = new sqlsessionfactorybuilder()
sqlsession sqlsession = sqlsessionfactory.opensession();
list listuserinfo = sqlsession.selectlist("getuserinfo",
for (int i = 0; i < listuserinfo.size(); i++) {
}
} catch (ioexception e) {
// todo auto-generated catch block
e.printstacktrace();
}<code>`</code>
上述代码从map中get(字段名称)的形式取得字段对应的值,但字段名称在oracle中是大写字母,所以这里的字段名称也必须要写成大写形式。为了支持方便的小写形式,可以在映射文件中为定义的sql语句为字段指定一个别名。
select id "id",username "username",password "password",age "age"
这样从map中就可以以小写的形式取得字段值。
运行结果如图2-4所示。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL1ATNhNTM5QTNiZTZ4MmMlJDMlVTY1MTOmZWZwMWOiBDOwkDZ3EGN58CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。