myBaits+mySQL 获取自增主键

首先准备好需要用到的东西

数据库中创建role表

实体类:Role.java

持久层接口:RoleDao.java

数据库映射文件Mapper:RoleMapper.xml

junit测试类:Test.java

数据库中创建role表

role表结构

实体类:Role.java

public class Role{
	private int roleId; //角色ID
	private String roleName; //角色名称
	
	public int getRoleId() {
		return roleId;
	}
	public void setRoleId(int roleId) {
		this.roleId = roleId;
	}
	public String getRoleName() {
		return roleName;
	}
	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}
}
持久层接口:RoleDao.java

public interface RoleDao {
	    void addRole(RolePermission rolePermission);
}
数据库映射文件Mapper:RoleMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">

<mapper namespace="持久层接口RoleDao的完整路径">
    <!-- 添加角色
        useGeneratedKeys="true" 设置主键自增
        keyProperty="roleId" 返回的主键值自动保存到传入的参数对象的roleId属性中
    -->
    <insert id="addRole" parameterType="实体类Role的完整路径" useGeneratedKeys="true" keyProperty="roleId">
        insert into role(role_name)
        values(#{roleName})
    </insert>
</mapper>
junit测试类:Test.java
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring/spring-mybatis.xml")
public class RoleTest {

	@Autowired
	public RolePermissionDao rolePermissionDao;

	@Test
	public void testAddRole(){
		RolePermission r = new RolePermission();
		r.setRoleName("aaaaaa");
		System.out.println(r.getRoleId());
		rolePermissionDao.addRole(r);
		System.out.println(r.getRoleId());
	}
}

最后的输出结果为

0

7

数据库输出结果图

需要注意的是:

这里传入参数是一个对象,返回的主键值也是保存到该对象的属性中,而该属性是在映射文件中keyProperty所指定的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值