01 mybatis主键设置以及获取主键
发布日期:2022-03-30 20:19:35 浏览次数:27 分类:博客文章

本文共 1605 字,大约阅读时间需要 5 分钟。

本文将阐述mybatis中的主键自增以及获取新增的主键。

1、环境约束

  • win10 64位操作系统
  • idea2018.1.5
  • jdk-8u162-windows-x64
  • mybatis3.2.8
  • mysql 6.5

2、前提约束

  • 完成idea中创建mybatis项目

3、设置主键自增

3.1 当mysql的表主键设置为自增

  • 创建一个表
CREATE TABLE `test`.`t_user` (  `id` INT NOT NULL AUTO_INCREMENT,  `name` VARCHAR(45) NULL,  PRIMARY KEY (`id`));
  • 在UserMapper.java中新建一个方法
void addUser(User user);
  • 在UserMapper.xml中新建一个标签
insert into t_user(name) values(#{name})
  • 测试
//关键代码String resource ="mybatis-config.xml";Reader reader = Resources.getResourceAsReader(resource);SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(reader);SqlSession sqlSession = sqlSessionFactory.openSession();UserMapper userMapper = sqlSession.getMapper(UserMapper.class);User user = new User();user.setName("xiaoli");userMapper.addUser(user);sqlSession.commit();

多执行几次以上代码,查询数据库,便能看到主键自动增长。

3.2 当mysql的表id不设置为自增

  • 设置t_user主键不自增
ALTER TABLE `test`.`t_user` CHANGE COLUMN `id` `id` INT(11) NULL ;
  • 在UserMapper.java中新建一个方法
void insertUser(User user);
  • 在UserMapper.xml中新建一个标签
select max(id)+1 from t_user
insert into t_user(id,name) values(#{id},#{name})
  • 测试
//关键代码String resource ="mybatis-config.xml";Reader reader = Resources.getResourceAsReader(resource);SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(reader);SqlSession sqlSession = sqlSessionFactory.openSession();UserMapper userMapper = sqlSession.getMapper(UserMapper.class);User user = new User();user.setName("xiaoli");userMapper.insertUser(user);sqlSession.commit();

多执行几次以上代码,查询数据库,便能看到主键自动增长。

以上就是在mybatis中完成主键自增的两种方式

转载地址:https://www.cnblogs.com/alichengxuyuan/p/12554754.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:07 spel表达式
下一篇:03 spring中bean的模板、继承与覆盖

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月13日 01时29分12秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章