首页 > 其他 > 详细

【Mybatis】12 关于主键生成

时间:2020-05-07 09:52:06      阅读:41      评论:0      收藏:0      [点我收藏+]

Mybatis的主键生成是基于JDBC的使用主键【getGeneratedKeys()】方法

也就是说,必须要JDBC驱动的支持才行

    @Test
    public void junitTest() throws SQLException {
        Connection connectionByOriginalJdbc = CompleteJdbcUtils.getConnectionByOriginalJdbc();、
PreparedStatement preparedStatement
= connectionByOriginalJdbc.prepareStatement("");
ResultSet generatedKeys
= preparedStatement.getGeneratedKeys(); }

技术分享图片

 

useGeneratedKeys 表示使用数据库生成的主键,

keyProperty 表示绑定数据表的主键返回给实体类的哪个字段

技术分享图片

 

在之前的插入SQL中并不需要主键生成功能就能完成主键自增生成,

看来是JDBC自动生成的【如果开启就像官方说的一样,是强制生成的】


 

实现主键生成的第二种方式:

使用<SelectKey> 标签

SELECT last_insert_id 表示查询最后一次插入的id

如果在SQL执行前查询,就返回最后一次插入的记录的id

然后我们的插入SQL就会按这个查询的id插入,这样插入是有问题的,

所以要选择AFTER,在执行插入后返回主键,再生成

技术分享图片

 

对应的,使用注解实现的方式

技术分享图片

 

【Mybatis】12 关于主键生成

原文:https://www.cnblogs.com/mindzone/p/12840751.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!