记录一下Spring boot关于MyBatis的集成过程.
Spring boot 不需要像普通的Java Maven项目那样,写许多配置信息。直接引入pom.xml文件
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>compile</scope>
</dependency>
即可使用。
然后需要添加一些其他配置。
1.DemoApplication文件内需要配置Mapper扫描
@MapperScan (basePackages = "com.example.demo.mapper.*",annotationClass = Mapper.class)
2.Application.xml配置文件需要加mapper文件的扫描路径
mybatis.mapper-locations=classpath:mapper/*.xml
3.mapper接口文件(DAO包)
要加注释@Mapper
这样配置一般就没什么问题了.
如果遇到其他集成时发生的问题。可以联系我 qq 920465415。
再记录一个MyBatis的分页插件集成
首先引入pom文件
<!--Mybatis 物理分页 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
然后在application的配置文件内添加如下
pagehelper:
helper-dialect: mysql //数据源类型
params:
count: countSql /计算总条数
reasonable: false
support-methods-arguments: true
这样就完成了 分页插件的集成。
如何使用呢?
这里写一个单元测试,提供参考。注意:这些代码肯定是跑不起来的。还缺少实体,数据库。
@Mapper
public interface SystemDAO {
//获取所有节点信息
public List<Customer> getAllCustomerNodeInfo();
}
mapper.xml
<!--获取所有普通节点信息 -->
<select id="getAllCustomerNodeInfo" resultType="Customer">
select * from customer
</select>
单元测试:
@Test
public void getAllNodeTest(){
List<Customer> customerNode = new ArrayList<>();
PageHelper.startPage(1,1); // 第一个参数是PageNum 当前页数,第二个参数sou
PageInfo<Customer> customerNodeInfo = new PageInfo<>(systemDAO.getAllCustomerNodeInfo());
//Assert.assertNotNull(customerNodeInfo);
log.info("节点Id:"+customerNodeInfo.getList().get(0).getCusId());
}