需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。
方法:在mapper中指定keyProperty属性,示例如下:
JurisdictionMapper.xml
<!-- 添加一条权限 -->
<insert id="addJurisdiction" useGeneratedKeys="true" keyProperty="jurisdiction.id">
INSERT INTO tb_jurisdiction(uuid,organizationSet,userManage,intervieweeManage,facilityManage,interceptManage,dataMaintaining,informationManage,logManage)
VALUES (#{jurisdiction.uuid},#{jurisdiction.organizationSet},#{jurisdiction.userManage},#{jurisdiction.intervieweeManage},#{jurisdiction.facilityManage},
#{jurisdiction.interceptManage},#{jurisdiction.dataMaintaining},#{jurisdiction.informationManage},#{jurisdiction.logManage})
</insert>
java bean
private static final long serialVersionUID = 751672254971015482L;
private int id;
private String uuid;
private int organizationSet;
private int userManage;
private int intervieweeManage;
private int facilityManage;
private int interceptManage;
private int dataMaintaining;
private int informationManage;
private int logManage;
public Jurisdiction(){
this.uuid = UUIDUtil.createUUID();
this.organizationSet = 0;
this.userManage = 0;
this.intervieweeManage = 0;
this.facilityManage = 0;
this.interceptManage = 0;
this.dataMaintaining = 0;
this.informationManage = 0;
this.logManage = 0;
}
java JurisdictionMapper
/**
* 添加一条权限信息
* @param jurisdiction
*/
public int addJurisdiction(@Param("jurisdiction")Jurisdiction jurisdiction);
测试:
public class Test {
@Autowired
private JurisdictionMapper jurisdictionMapper;
@org.junit.Test
public void test(){
Jurisdiction jurisdiction = new Jurisdiction();
int row = jurisdictionMapper.addJurisdiction(jurisdiction);
System.out.println(row); //插入的数目
System.out.println(jurisdiction.getId()); //返回的主键
}
}