iBatis查询结果部分为null的解决办法

时间:2022-06-01 19:47:45

今天第一天接触iBatis,没有系统学习过,遇到了一个简单却闹心的错误:用iBatis查询数据库中某个表的多列结果作为一个对象返回时,会出现对象的部分属性为null值得错误。例如,查询用户表中的用户ID,用户名,用户密码,并将查询的结果复制给类User的对象:

XML中的SQL语句为:

 select id,username,password from usertable where username=#userName# and password=#userPwd#

将查询的结果输出:

iBatis查询结果部分为null的解决办法

在网上查了很长时间的资料,各种说法都有,最终看到http://www.educity.cn/wenda/369385.html中的回答,尝试更改SQL语句:

 select id as id,username as userName,password as userPwd from usertable where username=#userName# and password=#userPwd#

也就是将查询的结果都起了别名,而这些别名也不是随便起的,别名对应于User类的属性,于是终于成功查到结果:

iBatis查询结果部分为null的解决办法