电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 1677 人浏览分享

mybatis插入数据后返回插入记录的主键(代码实例)

[复制链接]
1677 0

当我们插入一条新的数据后返回该记录在数据库中的主键值,首先插入数据的主键必须是自增长的才行

建表

  1. CREATE TABLE `file`(
  2. `fileId` INT NOT NULL PRIAMRY KEY AUTO_INCREMENT,
  3. `fileName` VARCHAR(20) NOT NULL
  4. )ENGINE=innoDB DEFAULT CHARSET=utf8;
复制代码


javaBean

  1. public class Files {
  2.     private int fileId;
  3.     private String fileName;
  4.      public int getFileId() {
  5.         return fileId;
  6.     }

  7.     public void setFileId(int fileId) {
  8.         this.fileId = fileId;
  9.     }

  10.     public String getFileName() {
  11.         return fileName;
  12.     }

  13.     public void setFileName(String fileName) {
  14.         this.fileName = fileName;
  15.     }
复制代码


在插入的时候将keyProperty设置成对应的fileid,并将
useGeneratedKeys设置成true,表示使用生成的key


  1. <insert id="insert" keyproperty="fileId" parametertype="com.b
  2. im.module.Files" usegeneratedkeys="true">
  3.         INSERT INTO files
  4.         VALUE (
  5.         #{fileId},
  6.         #{fileName},
  7.         #{projectId}
  8.         )
  9.     </insert>
复制代码


mybatis会自动调用fileId的setter函数将生成的fileId设置到javaBean中,
测试下我们的代码是否能实现



  1. Files files = new Files();
  2.        files.setFileName("test");
  3.        files.setProjectId(314);
  4.         System.out.println(files.getFileId());
  5.        System.out.println(filesMapper.insert(files));
  6.        System.out.println(files.getFileId());
复制代码


int类型默认初始化为0,调用完成后查看新的fileId
结果:插入一个并返回了该记录在数据库中的记录


2.png


您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.