首先准备好需要用到的东西
数据库中创建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());
}
}
最后的输出结果为
07
需要注意的是:
这里传入参数是一个对象,返回的主键值也是保存到该对象的属性中,而该属性是在映射文件中keyProperty所指定的。