mysql mybatis 自增_MyBatis基础篇之如何获取自增主键的值(MySQL)

一、前言

使用MyBatis进行插入操作的时候,如果表的主键是自增的,针对不同的数据库相应的操作也不同。我们在实际开发中无非是两种情况比较多,一种是Oracle sequence,另外一种就是MySQL自增主键。本文主要应用于MySQL数据库,针对返回自增主键和不返回自增主键两种情况通过案例说明。

二、案例

♦搭建工程MyBatisMySQLIDDemo,具体搭建步骤可以参考

♦新建一张数据库表t_user

CREATE TABLE `t_user` (

`id` int(50) NOT NULL AUTO_INCREMENT,

`loginId` varchar(20) DEFAULT NULL,

`userName` varchar(100) DEFAULT NULL,

`role` varchar(255) DEFAULT NULL,

`note` varchar(255) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

♦修改UserMapper接口类,增加addUser方法

/*** 新增用户* @param user* @return*/

public void addUser(User user);

♦针对不返回自增主键的情况

修改UserMapper.xml文件

insert into

t_user(loginId,userName,role,note)

values(#{loginId},#{userName},#{role},#{note})

测试类MyBatisTest,增加testAddNoReturnID方法

@Test

public void testAddNoReturnID() throws IOException {

SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();

SqlSession openSession = sqlSessionFactory.openSession();

try{

UserMapper mapper = openSession.getMapper(UserMapper.class);

User user = new User("queen","奎恩","海贼王副把手","专门负责提鞋的。。。");

mapper.addUser(user);

System.out.println("***************"+user.getId()+"***************");

openSession.commit();

}finally{

openSession.close();

}

}

运行测试,控制台打印

2017-07-31 21:00:13,811 [main] [org.apache.ibatis.transaction.jdbc.JdbcTransaction]-[DEBUG] Setting autocommit to false on JDBC Connection [com.mysql.j

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值