Mybatis3 执行insert语句后获…
来源:互联网 发布:淘宝加入购物车没反应 编辑:程序博客网 时间:2024/05/16 19:16
摘要
hibernate中获取新插入记录的对象id非常容易,通过其持久化对象就能完成。而Mybatis中有点复杂,本文转载了一篇文章,讲述mybatis中获取插入记录的自增长id,经测试在MySQL中有效,其他数据库未知。
需求
使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。
如果xml的传入参数是map,selectKey会将结果放到入参数map中。用POJO的情况一样,但是有一点需要注意的是,keyProperty对应的字段在POJO中必须有相应的setter方法,setter的参数类型还要一致,否则会报错。
直接获取Integer类型的返回值将得到受影响的行数。
方法
下面说两种方法,MyBatis+MySQL返回插入记录的主键ID:
第一种:
第二种:
总结
这两种写法都可以,但有两点一定要注意:
1)Mybatis Mapper文件中,“useGeneratedKeys”和“keyProperty”必须添加,keyProperty=”id”,这个id必须是实体的id,而不是数据表的主键id,否则,得不到正确的返回结果;
2)接收返回值时候,必须用实体的get属性,而不能定义变量,否则,接收不到正确的返回结果:即必须用user.getId()来接收。
阅读全文
0 0
- Mybatis3 执行insert语句后获…
- mybatis3 insert语句获取主键
- mysql 执行大量insert语句
- 如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
- 如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
- 如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
- 如何得到JDBC Insert 语句执行后插入数据库记录的主键
- 如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
- jdbc连接mysql数据库执行insert语句后获取自增长的主键值
- 如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
- mybitas 执行insert 语句后获取当前插入行的主键!
- C#进行SQL执行Insert插入语句后返回新增行的ID
- Oracle:如何解决在执行insert语句后,插入的数据乱码
- INSERT ... ON DUP…
- mybatis3下的通用sql的select语句执行类
- Mybatis3.x执行的语句被回滚的问题
- 批量insert语句的执行技巧
- Oracle 执行Insert into 语句失效解决方法
- Linux基础知识之挂载详解(mount,u…
- git pull 失败 ,提示:fatal: refusing to merge unrelated histories
- 通过Ajax方式上传文件,使用FormDa…
- HTML5学习之FileReader接口
- 通过上节的块设备驱动分析,本节便通过内存来模拟块设备驱动
- Mybatis3 执行insert语句后获…
- 微信小程序入门——小程序与页面的生命周期
- MySQL表名不区分大小写的设置方法
- Tomcat启动与关闭事件监听
- 为什么给定宽元素设置左右margin为…
- Sub-PU based Motion Vector Prediction
- Elasticsearch与Solr
- 对于Java应该明确这些知识点
- select在各个浏览器中的兼容性问题