Mybatis插入数据后获取主键的值

Mybatis插入数据后获取主键的值


1. 所使用的数据库是支持自增的,且主键是自增


<insert id="insertEmployeeUseGeneratedKey" useGeneratedKeys="true" keyProperty="id">insert into employee values(#{id},#{name},#{age},#{address})insert>

测试:

//数据库表中已经有两条数据
@Test
public void testInsertEmployeeUseGeneratedKey(){Employee employee = new Employee(null, "小白", 22, "哈尔滨省");mapper.insertEmployeeUseGeneratedKey(employee);System.out.println("刚才插入employee对象的id值为:"+employee.getId());
}

结果:

刚才插入employee对象的id值为:3


2. 使用的数据库是不支持自增的,或者主键不是自增的

<insert id="insertEmployeeUseGeneratedKey1"><selectKey order="BEFORE" keyProperty="id" resultType="int">select max(id)+1 from employeeselectKey>insert into employee values(#{id}, #{name}, #{age}, #{address})insert>

测试:

// 数据库表中已经有两条数据
@Testpublic void testInsertEmployeeUseGeneratedKey1(){Employee employee = new Employee(null, "小红", 22, "河北省");mapper.insertEmployeeUseGeneratedKey1(employee);System.out.println("插入的employee对象的id为:"+employee.getId());}

结果:

插入的employee对象的id为:3


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部