myBaits+mySQL 获取自增主键

    xiaoxiao2021-03-26  25

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

    数据库中创建role表

    实体类:Role.java

    持久层接口:RoleDao.java

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

    junit测试类:Test.java

    数据库中创建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所指定的。
    转载请注明原文地址: https://ju.6miu.com/read-661241.html

    最新回复(0)