myBaits+mySQL 获取自增主键

来源:互联网 发布:大头视频制作软件 编辑:程序博客网 时间:2024/05/22 03:24

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

数据库中创建role表

实体类:Role.java

持久层接口:RoleDao.java

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

junit测试类:Test.java

数据库中创建role表

role表结构

实体类:Role.java

public class Role{private int roleId; //角色IDprivate 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 {@Autowiredpublic RolePermissionDao rolePermissionDao;@Testpublic 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
原创粉丝点击