Spring Boot 整合 TKMybatis 二次簡化持久層代碼的實現
經常用 MyBatis 的的都知道,使用這個框架存在一個非常不友善的問題就是,就是每操作一個單表就需要自己手寫一個 xml 文件,雖然說可以用工具生成 xml 和實體類可以解決這個問題,但是二次開發的時候對某個表字段進行修改的時候,生成 xml 文件就不現實啦。最近發現 tk.mybatis 就非常好的解決瞭這個問題。tk.mybatis 整合瞭 MyBatis 框架,在其基礎上提供瞭很多工具,封裝瞭常用的增刪改查 SQL 語句,可以讓我們的開發效率更高。在這裡和大傢分享一下。
引入依賴
在 pom.xml
中引入 mapper-spring-boot-starter
依賴
<!-- druid-spring-boot-starter --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency> <!-- 數據庫連接依賴 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.40</version> <scope>runtime</scope> </dependency> <!-- mapper-spring-boot-starter --> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.0.2</version> </dependency>
相關配置
在 application.yml
中添加相關配置
spring: datasource: druid: url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false username: root password: 123456 initial-size: 1 min-idle: 1 max-active: 20 test-on-borrow: true driver-class-name: com.mysql.jdbc.Driver # MySQL 8.x: com.mysql.cj.jdbc.Driver mybatis: type-aliases-package: # 實體類的存放路徑,如:com.antoniopeng.hello.spring.boot.entity mapper-locations: classpath:mapper/*.xml # mapper.xml 文件存放路徑,這裡存放在配置文件目錄 resources 下 logging: level: com.antoniopeng.hello.springboot.mybatis: debug # 配置監聽日志
在 Application
入口類中使用 tk.mybatis.spring.annotation
包下的 @MapperScan
註解指定 Mapper 接口的掃描路徑
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import tk.mybatis.spring.annotation.MapperScan; @MapperScan(value = "com.antoniopeng.springboot.mybatis.mapper") @SpringBootApplication public class HelloSpringBootMybatisApplication { public static void main(String[] args) { SpringApplication.run(HelloSpringBootMybatisApplication.class, args); } }
整合 PageHelper 分頁插件
引入依賴
在 pom.xml
中引入 pagehelper-spring-boot-starter
依賴
<!-- pagehelper-spring-boot-starter --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency>
分頁查詢示例
@RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class) @Transactional @Rollback public class MyBatisTests { @Autowired UserService userService; /** * 測試分頁插件 */ @Test public void testPageHelper() { Example example = new Example(User.class); // 查詢條件 example.createCriteria().andEqualTo("userId", "1") // 分頁參數 PageHelper.startPage(1, 10, "create_time desc"); // 獲取分頁列表數據 List<User> userList = userService.selectByExample(example); PageInfo pageInfo = new PageInfo(userList); // 獲取列表總數 int userCount = (int) pageInfo.getTotal(); } }
到此這篇關於Spring Boot 整合 TKMybatis 二次簡化持久層代碼的實現的文章就介紹到這瞭,更多相關Spring Boot 整合 TKMybatis 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Easycode自動化springboot的curd
- springboot配置mybatis和事務管理方式
- 一篇超詳細的Spring Boot整合Mybatis文章
- 小項目改造快速引入 mybatis的流程分析
- 解決SpringBoot整合MybatisPlus分模塊管理遇到的bug