您当前的位置: 首页 >  mybatis

杨林伟

暂无认证

  • 3浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

18MyBatis - MyBatis添加操作

杨林伟 发布时间:2019-04-03 14:03:09 ,浏览量:3

MyBatis添加操作 实现添加用户

使用的sql: INSERT INTO `user`(username,birthday,sex,address) VALUES (‘黄忠’,‘2016-07-26’,‘1’,‘三国’)

映射文件

在User.xml配置文件中添加如下内容:

	
	
		INSERT INTO `user`
		(username,birthday,sex,address)
		 VALUES
		(#{username},#{birthday},#{sex},#{address})
	

测试程序

MybatisTest中添加测试方法如下:

    @Test
    public void testSaveUser() {
        // 4. 创建SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();

        // 5. 执行SqlSession对象执行保存
        // 创建需要保存的User
        User user = new User();
        user.setUsername("张飞");
        user.setSex("1");
        user.setBirthday(new Date());
        user.setAddress("蜀国");

        sqlSession.insert("saveUser", user);
        System.out.println(user);

        // 需要进行事务提交
        sqlSession.commit();

        // 7. 释放资源
        sqlSession.close();
    }

运行结果: 在这里插入图片描述 如上所示,保存成功,但是id=0,需要解决id返回不正常的问题。

mysql自增主键返回

查询id的sql SELECT LAST_INSERT_ID()

通过修改User.xml映射文件,可以将mysql自增主键返回: 如下添加selectKey 标签




	
	
	
	
	
	
	
		SELECT LAST_INSERT_ID()
	
	
	INSERT INTO 
	`user` (username,birthday,sex,address) 
	VALUES
	(#{username},#{birthday},#{sex},#{address})
	


LAST_INSERT_ID(): 是mysql的函数,返回auto_increment自增列新记录id值。

注意这里使用的order是“AFTER”

运行结果: 在这里插入图片描述 返回的id为48,能够正确的返回id了。

mysql使用 uuid实现主键

需要增加通过select uuid()得到uuid值



	
	
	
	
	
	
	
		SELECT LAST_INSERT_ID()
	
	
	INSERT INTO 
	`user` (username,birthday,sex,address)
	 VALUES
	(#{username},#{birthday},#{sex},#{address})


注意这里使用的order是“BEFORE”

关注
打赏
1662376985
查看更多评论
立即登录/注册

微信扫码登录

0.0598s