日期:2014-05-17  浏览次数:20665 次

sys_guid()插入数据的时候返回主键值
主键用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();//主键这样获取