废话少说,直接上代码
1.UserMapper.java(接口方法)

public void addUser(User user);

2.UserMapper.xml(接口方法映射)

<insert id="addUser" parameterType="user">insert into user(name, age) values(#{name}, #{age})
</insert>

3.Test(测试代码)

UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = new User("张国风", 24);
mapper.addUser(user);
System.out.println(user.getId());

但是打印结果却是null,那么怎么获取插入数据的id呢?在JDBC中的Statement对象在执行插入的SQL后,可以通过getGeneratedKeys方法获得数据库生成的主键,而在insert语句中有一个属性开关userGeneratedKeys,用于控制是否打开这个功能,默认值是false,当打开了这个开关,还需要配置其属性keyProperty或keyColumn,告诉系统把生成的主键放入哪个属性中。

将接口方法映射中的代码修改:

<insert id="addUser" parameterType="user" useGeneratedKeys="true" keyProperty="id">insert into user(name, age) values(#{name}, #{age})
</insert>

这样就会将数据库生成的主键去赋值给javabean中的id属性。

打印出来的值不为空。

mybatis中如何在插入一条记录的同时获取id值相关推荐

  1. mysql中sql批量插入_sql中insert如何批量插入多条记录?

    sql中insert如何批量插入多条记录? sql中insert批量插入多条记录的方法: 常见的insert语句,向数据库中,一条语句只能插入一条数据:insert into persons (id_ ...

  2. mysql导入多条数据语句_MySQL插入多条记录和REPLACE语句

    今天遇到样一个问题,在使用Mysql数据库时,新建一个表,并设置主键为自增长,结果当我一次执行多条插入语句时悲剧了,它竟然报错了,信息如下: 错误码: 1064 You have an error i ...

  3. 成功解决:利用编程向数据库插入一条记录,而从数据库中查不到该条记录

    成功解决:利用编程向数据库插入一条记录,而从数据库中查不到该条记录 目录 解决问题 解决方法 1.首先查看是否有conn.commit() 2.继续判断 解决问题 利用编程向数据库插入一条记录,而从数 ...

  4. sql语句插入一条记录同时获取刚插入的id sqlserver

    有两种方式可以获得刚新插入的id   ①从inserted临时表中查询   ②使用全局变量@@identity 查询 1.使用 output 关键字输出,inserted 为已插入的临时表,这样就可以 ...

  5. 使用注解‘@Test‘测试方法执行insert操作会连续插入多条记录

    title: 使用注解'@Test'测试方法执行insert操作会连续插入多条记录 date: 2020-08-08 17:23:02 tags: spring & mybatis categ ...

  6. MySQL使用INSERT插入多条记录

    2019独角兽企业重金招聘Python工程师标准>>> MySQL使用INSERT插入多条记录,应该如何操作呢?下面就为您详细介绍MySQL使用INSERT插入多条记录的实现方法,供 ...

  7. MySQL 纯insert_MySQL使用INSERT插入多条记录

    MySQL使用INSERT插入多条记录,应该如何操作呢?下面就为您详细介绍MySQL使用INSERT插入多条记录的实现方法,供您参考. 看到这个标题也许大家会问,这有什么好说的,调用多次INSERT语 ...

  8. SQL 一次插入多条记录

    本文介绍如何快速插入多条数据到数据表中,以满足sql语句学习或项目测试的需要. 本文非原创,是对移步原文的重新整理. 如有以下表格,如图: 1,原始添加记录的方式,sql语句如下: 1 insert ...

  9. mysql查询m到n条数据库,对查询数据库中第M到N条记录的思考

    呵呵,以前听庄明学长说过查询数据库中第M到N条记录的好多种方法,自己为是那样,但是从来没有实践过,今天学到Sql server 2005 的查询语句了,于是就想来实践实践自己的想法! 首先我要声明一下 ...

最新文章

  1. VC\JS Base64转码
  2. 【网址收藏】hexo博客主题收藏
  3. 清华体质优良可降5分录取;窃取密钥者奖百万;阿里投入1亿保护方言;腾讯不正当竞争被罚;这就是今天的大新闻...
  4. Redis学习手册(事务)
  5. Java 时断时续之————Java事件
  6. Android的CheckBox(多选框)
  7. [原創]全面的權限控制方法(功能權限+數據權限+特殊權限(行,列))
  8. matlab whos命令
  9. C++基础:第四章 数组、vector和字符串
  10. SQL Fundamentals || Single-Row Functions || 数字函数number functions
  11. 杨辉三角形(Python)
  12. windows10中最强大王爽汇编语言学习环境
  13. 海思AI芯片3559A方案学习(一)
  14. 图像处理(一)bicubic解释推导
  15. PLC PID调试总结
  16. java web代码及展现_抓网页_面包网_javaWeb展示
  17. c语言最长递增子序列nlogn,最长递增子序列
  18. Mac 电脑添加代理服务器
  19. 51单片机点亮LED灯以及实现2盏LED灯的交替闪烁
  20. springboot同时接受文件和多个参数

热门文章

  1. 数据结构---平均查找长度ASL的相关计算技巧
  2. pyscript的简单应用
  3. Vue中watch选项handle、deep、immediate是什么
  4. python 数学符号读法大全,Matplotlib数学表达式
  5. 秋招实习招聘面经、笔经,攒人品啦
  6. springboot项目实现腾讯云的短信验证
  7. 百度地图3 从0开始
  8. 在“云基础设施即服务的魔力象限”报告中,亚马逊云科技连续三年被评为领导者
  9. java heap size 乐视_BigData-ZooKeeper-JVM Heap size Setting
  10. UI库(一)【360安全卫士】