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