最近在看ibatis.
但是在使用selectKey的时候出现了问题:Could not set property 'id' to value '14' for com.ibatis.POJO.User.
以下是我的关键部分代码:
User.java:
public class User {
private String id;
private String name;
private String password;
private String email;
private String address;
private String temp;
sqlMapConfig.xml文件:
<typeAlias alias="user" type="com.ibatis.POJO.User"/>
<insert id="addUser" parameterClass="user" >
<![CDATA[insert into usertest(name,password,email,address,temp) values(#name#,#password#,#email#,#address#,#temp#)]]>
<selectKey resultClass="int" keyProperty="id" type="post">
<![CDATA[SELECT LAST_INSERT_ID() AS ID ]]>
</selectKey>
</insert>
Userl里面有id这个属性,但是我就纳闷为什么在从User里面取完数据后返回Id,这个时候还和User挂钩。
可以看到,User里面的Id属性和selectKey里面ResultClass="int"不一样,一个是int,一个是String,这就是问题所在。
只要把User里面的Id属性改成Int就OK了;