您的位置:首页 > 其它

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中
class StudentService{
public int addStudent(Student stu){
studntDao.insert(stu);
int id=stu.getId();   //这样就可以得到自增的id了
}
}
  mapper的话还是一样的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis