mybatis中插入数据库返回主键
在java后台的数据处理中,经常会有向数据库写入一条数据后,需要获取写入数据的主键,
根据主键再做其他数据库操作。
实现代码:
usercontorl.java:
User user = new User();
user.setUserName("chenzhou");
user.setPassword("xxxx");
user.setComment("测试插入数据返回主键功能");
System.out.println("插入前主键为:"+user.getUserId());
userDao.insertAndGetId(user);//插入操作
System.out.println("插入后主键为:"+user.getUserId());
Mapper.xml
<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">
insert into user(userName,password,comment)
values(#{userName},#{password},#{comment})
</insert>
useGeneratedKeys="true" 表示给主键设置自增长keyProperty="userId" 表示将自增长后的Id赋值给实体类中的userId字段。实体类中uerId 要有getter() and setter(); 方法