今天第一天接触iBatis,没有系统学习过,遇到了一个简单却闹心的错误:用iBatis查询数据库中某个表的多列结果作为一个对象返回时,会出现对象的部分属性为null值得错误。例如,查询用户表中的用户ID,用户名,用户密码,并将查询的结果复制给类User的对象:
XML中的SQL语句为:
1 select id,username,password from usertable where username=#userName# and password=#userPwd#
将查询的结果输出:
在网上查了很长时间的资料,各种说法都有,最终看到http://www.educity.cn/wenda/369385.html中的回答,尝试更改SQL语句:
1 select id as id,username as userName,password as userPwd from usertable where username=#userName# and password=#userPwd#
也就是将查询的结果都起了别名,而这些别名也不是随便起的,别名对应于User类的属性,于是终于成功查到结果: