主键用sys_guid()生成,用mybatis插入数据的时候想要返回主键,解决不了了,求指导!
------解决方案--------------------
a.xml:
<insert id="insertAGenerated" parameterType="com.defonds.mybatis.test.bean.A" useGeneratedKeys="true" keyProperty="aId">
insert into a(aName)
values(#{aName})
</insert>
AMapper:
package com.defonds.mybatis.test.dao;
import com.defonds.mybatis.test.bean.A;
public interface AMapper {
void insertA(A a);
int insertAGenerated(A a);
}
A:
package com.defonds.mybatis.test.bean;
public class A {
private int aId;
private String aName;
public int getaId() {
return aId;
}
public void setaId(int aId) {
this.aId = aId;
}
public String getaName() {
return aName;
}
public void setaName(String aName) {
this.aName = aName;
}
}
获取主键:
A a;
int aa = aMapper.insertAGenerated(a);
注意:insert 不再返回主键,只返回响应行数,这点和 ibatis 不同了。
所以上面的 aa 仅仅是执行结果。主键应该是:
a.getaId();//主键这样获取