mybatis useGeneratedKeys属性

没有使用useGeneratedKeys属性时

--UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 配置映射
namespace : 命名空间(通俗说法: 给当前映射文件的唯一标识:起一个唯一的名字)	
值必须是对应映射接口文件的全限定名
全限定名:包名+简单名称(接口名)
 -->
<mapper namespace="com.mybatis.mapper.UserMapper">
	<!-- 新增操作
		id: 当前功能的唯一标识,必须跟接口中对应的功能方法名称一致 
		parameterType : 参数的类型,必须和接口中对应的功能方法的参数类型相同,值必须是全限定名
	 -->
	<insert id="insertUserInfo" parameterType="com.mybatis.pojo.User">
	<!--  OGNL语法
       #{对象的属性名称或者map的key}
	 -->
    insert into user(username,password,age) values(#{username},#{password},#{age})
    </insert>
</mapper>

--测试代码

package com.mybatis.test;

import org.apache.ibatis.session.SqlSession;

import com.mybatis.mapper.UserMapper;
import com.mybatis.pojo.User;
import com.mybatis.util.MyBatisUtil;

public class UserMapperTest {

	public static void main(String[] args) {
		//1.创建SqlSession操作对象
		SqlSession session = MyBatisUtil.openSession();
		
		//2.创建UserMapper接口的代理对象
		UserMapper userMapper = session.getMapper(UserMapper.class);

		
		//3.创建用户对象
		User user = new User(null, "乔峰", "qf", 30);
		
		System.out.println("新增前:"+user);
		
		//4.执行UserMapper的插入操作
		userMapper.insertUserInfo(user);
		
		System.out.println("新增后:"+user);
		
		//5.提交事务
		session.commit();
		
		//6.关闭session
		session.close();

	}
}

--运行结果

在这里插入图片描述

使用useGeneratedKeys属性时

--UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 配置映射
namespace : 命名空间(通俗说法: 给当前映射文件的唯一标识:起一个唯一的名字)	
值必须是对应映射接口文件的全限定名
全限定名:包名+简单名称(接口名)
 -->
<mapper namespace="com.mybatis.mapper.UserMapper">
	<!-- 新增操作
		id: 当前功能的唯一标识,必须跟接口中对应的功能方法名称一致 
		parameterType : 参数的类型,必须和接口中对应的功能方法的参数类型相同,值必须是全限定名
		keyColumn :数据表中主键对应的列
		keyProperty :数据表的主键列对应pojo中属性的名称
		useGeneratedKeys="true" : 是否返回数据库自动生成的主键给pojo属性,true 是,false-->
	<insert id="insertUserInfo" parameterType="com.mybatis.pojo.User"
	 useGeneratedKeys="true" 
	 keyColumn="id"
	 keyProperty="id"
	>
	<!--  OGNL语法
       #{对象的属性名称或者map的key}
	 -->
    insert into user(username,password,age) values(#{username},#{password},#{age})
    </insert>
</mapper>

--测试代码

跟上面一样

--测试结果

在这里插入图片描述

发现

我们会发现insert标签添加useGeneratedKeys属性,新增后,会显示自动生成的编号
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值