Mybatis保存操作的小细节
程序员文章站
2024-02-28 13:21:16
...
@[TOC]Mybatis保存操作的小细节-获取保存数据的id(select last_insert_id())
原来的保存数据dao.xml
<!--保存用户-->
<insert id="saveUser" parameterType="com.itheima.domain.User"> <!--parameterType参数类型values(参数)-->
insert into user(username,birthday,sex,address)values(#{username},#{birthday},#{sex},#{address});
</insert>
如果想在插入数据成功之后获取id的值,则在xml中加入如下代码
<selectKey keyProperty="id" keyColumn="id" order="AFTER" resultType="java.lang.Integer">
select last_insert_id();
</selectKey>
总的dao.xml
<!--保存用户-->
<insert id="saveUser" parameterType="com.itheima.domain.User"> <!--parameterType参数类型values(参数)-->
<selectKey keyProperty="id" keyColumn="id" order="AFTER" resultType="java.lang.Integer">
select last_insert_id();
</selectKey>
insert into user(username,birthday,sex,address)values(#{username},#{birthday},#{sex},#{address});
</insert>
keyProperty:表示实体类的id
keyColumn:表示数据库表的id
order:表示插入之后的行为(什么时候进行操作)
resultType:返回值的类型
测试类:
/*
* 测试保存数据*/
@Test
public void testSave(){
User user = new User();
user.setUsername("mybatis last_insert");
user.setAddress("黑龙江");
user.setBirthday(new Date());
user.setSex("男");
System.out.println("保存之前"+user);
//5.执行保存方法
userDao.saveUser(user);
System.out.println("保存之后"+user);
}
上一篇: ASP.NET中相对路径的使用总结
下一篇: SkipList(跳跃表)详解