springboot项目搭建0051
springboot项目搭建0051
项目地址:.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" ".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 {@Autowiredprivate SysUserMapper sysUserMapper;@Testpublic void getAllUsersTest() {List<SysUser> sysUsers = sysUserMapper.getAllUsers();for (SysUser sysUser : sysUsers) {System.out.println(sysUser);}}
6、结果
最新文章
- php如何写接口
- Vue中的component
- Platforms
- linux下开启、关闭、重启mysql服务命令
- 梯度下降法和最速下降法区别
- Revit 二次开发前景
- Azure App object和Service Principal
- 02195511
- SOA系列之 什么是SOA?
- ext3文件系统基础
- 1024专场回顾
- Matlab中interp2和interpn的差异
- 微信开发之小程序实现倒计时
- 基于React、Typescript和Solidity的NFT完整教程
- Shiro登录的使用以及原理(一)
- shiro漏洞原理以及检测key值原理
- Qt数据库:(三)利用QSqlQuery类执行SQL语句(一)