九:SpringBoot-整合Mybatis框架,集成分頁助手插件
1、Mybatis框架
MyBatis 是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解來配置和映射原生類型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 對象)爲數據庫中的記錄。
1.1 mybatis特點
- sql語句與代碼分離,存放於xml配置文件中,方便管理
- 用邏輯標籤控制動態SQL的拼接,靈活方便
- 查詢的結果集與java對象自動映射
- 編寫原生態SQL,接近JDBC
- 簡單的持久化框架,框架不臃腫簡單易學
1.2 適用場景
- MyBatis專注於SQL本身,是一個足夠靈活的DAO層解決方案。
- 對性能的要求很高,或者需求變化較多的項目,MyBatis將是不錯的選擇。
2、SpringBoot整合MyBatis
2.1 核心依賴
<!-- mybatis依賴 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- mybatis的分頁插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
2.2 核心配置
mybatis:
# mybatis配置文件所在路徑
config-location: classpath:mybatis.cfg.xml
type-aliases-package: com.boot.mybatis.entity
# mapper映射文件
mapper-locations: classpath:mapper/*.xml
3、集成分頁插件
3.1 mybatis配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<plugins>
<!--mybatis分頁插件-->
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
</configuration>
3.2 分頁實現代碼
@Override
public PageInfo<ImgInfo> queryPage(int page,int pageSize) {
PageHelper.startPage(page,pageSize) ;
ImgInfoExample example = new ImgInfoExample() ;
// 查詢條件
example.createCriteria().andBEnableEqualTo("1").andShowStateEqualTo(1);
// 排序條件
example.setOrderByClause("create_date DESC,img_id ASC");
List<ImgInfo> imgInfoList = imgInfoMapper.selectByExample(example) ;
PageInfo<ImgInfo> pageInfo = new PageInfo<>(imgInfoList) ;
return pageInfo ;
}