最近发现,使用ibatis的sqlMap.insert()方法时,不管怎么样,返回的结果总是null。那么如何让其返回最新插入的那条记入的id呢?
首先:
将原来的insert语句加上<selectKey>标签,如:
其中<selectKey>中的keyProperty="id" 为相应表的主键名。保证该属性的类型和javabean中
相应属性类型一致。
也就是说比如你映射account表的javabean为User类,
该类的一个属性id代表数据库相应主键USERID,若id为int类型,那么<selectKey>中
的resultClass="int" ,接着将sqlMap.insert返回的object转换为int类型。
但若该属性id为String,则<selectKey>中的resultClass="String",接着将sqlMap.insert返回的object转换为String类型。
通过以上及步骤,就可以放回插入数据的主键值了。