mybatis进行insert操作,得到自增的id
2016-05-04 17:55
183 查看
今天写项目时,前端要求往数据库插入一条数据后,返回刚刚自增的id。
网上查了很多资料,发现都是以下的方法:
<insert id="createTest" parameterType="Test" useGeneratedKeys="true" keyProperty="id">
INSERT INTO
auto_test(name,remark,create_time,status,companyId)
VALUES(#{name},#{remark},#{create_time},#{status},#{companyId})
</insert> 但是接收到的都是1,这里1的意思不是返回的id,而是成功操作的数据条数。
后来经过同事的指点,才发现这个mybatis是有一个内存机制的。具体的原因我也不清楚,代码奉上:
class Student{
private int id;
...
}
在service中
网上查了很多资料,发现都是以下的方法:
<insert id="createTest" parameterType="Test" useGeneratedKeys="true" keyProperty="id">
INSERT INTO
auto_test(name,remark,create_time,status,companyId)
VALUES(#{name},#{remark},#{create_time},#{status},#{companyId})
</insert> 但是接收到的都是1,这里1的意思不是返回的id,而是成功操作的数据条数。
后来经过同事的指点,才发现这个mybatis是有一个内存机制的。具体的原因我也不清楚,代码奉上:
class Student{
private int id;
...
}
在service中
class StudentService{ public int addStudent(Student stu){ studntDao.insert(stu); int id=stu.getId(); //这样就可以得到自增的id了 } }mapper的话还是一样的。
相关文章推荐
- 深入浅析mybatis oracle BLOB类型字段保存与读取
- MyBatis MapperProvider MessageFormat拼接批量SQL语句执行报错的原因分析及解决办法
- oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
- MyBatis学习笔记(二)之关联关系
- 浅析Mybatis 在CS程序中的应用
- Java Mybatis框架入门基础教程
- Windows下Java+MyBatis框架+MySQL的开发环境搭建教程
- Java简单实现SpringMVC+MyBatis分页插件
- MyBatis批量添加、修改和删除
- MyBatis与Hibernate的比较
- 浅析mybatis和spring整合的实现过程
- 在Java的MyBatis框架中建立接口进行CRUD操作的方法
- 整理Java的MyBatis框架中一些重要的功能及基本使用示例
- mybatis的动态sql详解(精)
- MyBatis实践之动态SQL及关联查询
- 详解Mybatis动态sql
- Mybatis实现增删改查及分页查询的方法
- MyBatis入门学习教程(一)-MyBatis快速入门
- Java的MyBatis框架中对数据库进行动态SQL查询的教程
- Spring与Mybatis的整合方法有哪些