项目地址:https://github.com/wenrongyao/springboot-demo.git
摘要:mybatis是优秀的持久化框架,但是引入mybatis后还要频繁的写增删改查,很不方便,所以这边引入刘增辉老师的通用mapper,通用mapper封装了单表基本上所有的操作。当联表操作的时候,还是需要写sql的,这边帖子主要讲述在通用mapper的基础上使用mapper.xml。
1、在resource文件夹下建立mapper(可以换名和资源文件配置对应即可),并建立mapper.xml文件,写法和mybatis一样
2 、资源文件配置
#mybatis xml文件位置
mybatis.mapper-locations=classpath:mapper/*.xml,classpath:mapper/*/*.xml
#配置驼峰转下划线(数据库的下划线和model的驼峰自动转换)
mybatis.configuration.map-underscore-to-camel-case=true
3、测试类SysUserMapper,自己新建的方法不要和通用mapper重名。
import com.honor.config.Mapper2;
import com.honor.model.sys.SysRole;
import com.honor.model.sys.SysUserRole;
import java.util.List;
/**
* 角色mapper
*
* @author rongyaowen
* @create 2018-12-08 16:39
**/
public interface SysUserRoleMapper extends Mapper2<SysUserRole> {
public List<SysRole> getConfigedRoleList(Integer sysUserId);
}
4、测试xml SysUserMapper.xml(名称要和mapper接口一致)
<?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" >
<mapper namespace="com.honor.mapper.SysUserMapper">
<select id="getAllUsers" resultType="com.honor.model.SysUser">
select * from sys_user;
</select>
</mapper>
5、测试类
import com.honor.mapper.SysUserMapper;
import com.honor.model.SysUser;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import java.util.List;
/**
* Created by rongyaowen
* on 2019/1/3.
*/
@RunWith(SpringRunner.class)
@SpringBootTest
@WebAppConfiguration
public class Mapper2Test {
@Autowired
private SysUserMapper sysUserMapper;
@Test
public void getAllUsersTest() {
List<SysUser> sysUsers = sysUserMapper.getAllUsers();
for (SysUser sysUser : sysUsers) {
System.out.println(sysUser);
}
}
6、结果