需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。
方法:在mapper中指定keyProperty属性,示例如下:
useGeneratedKeys="true" keyProperty="userId" 这两句话加进去要传的值 userId 是要返回的id
insert into user(userName,password,comment) values(#{userName},#{password},#{comment})
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());
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mybatis插入数据到oracle 主键不自增的
--查询所有的序列 select * from all_sequences
常用这个before的,不过也有after
如果是用after 的话,先运行插入,然后在去查询出id
为啥不推荐用after呢,如果批量插入的话,它只能拿到最后当前的id,这样就相对来说不那么好用了
======================================================================================================
mybatis参数
如果email为空的话,就会报错
查询新方法:感觉好流弊