spring boot整合雙持久層框架jpa、mybatis
阿新 • • 發佈:2018-09-21
分享 註意 準備 emp star lease 框架 ins 復雜
公司之前用的是spring boot + jpa,但由於jpa無法完美的解決某些動態查詢問題,就使用的jdbcTemplate 動態封裝SQL,由於代碼相對復雜,可讀性差,現準備再引入mybatis。下面說一下整合過程中遇到的問題,以及所踩的坑。
為避免出現問題我們先準備一個幹凈的工程進行測試
選擇web模塊以及以下模塊
完整項目結構
完整項目地址
https://github.com/tmlh98/springboot-jpa-mybatis.git
SQL文件
/* SQLyog Ultimate v10.00 Beta1 MySQL - 8.0.12 **********************************************************************/ /*!40101 SET NAMES utf8 */; create table `employee` ( `id` int , `name` varchar , `age` int , `sex` varchar ); insert into `employee` (`id`, `name`, `age`, `sex`) values(‘1‘,‘張三‘,‘36‘,‘男‘); insert into `employee` (`id`, `name`, `age`, `sex`) values(‘2‘,‘李四‘,‘24‘,‘女‘); insert into `employee` (`id`, `name`, `age`, `sex`) values(‘3‘,‘王五‘,‘25‘,‘男‘); insert into `employee` (`id`, `name`, `age`, `sex`) values(‘4‘,‘Aric‘,‘15‘,‘男‘);
註意點:
整合兩個持久層框架必須有兩個dao層,否則程序無法做出正確的選擇
spring boot 版本問題
由於是直接在原來的項目上加入mybatis,就忽略了之前的版本,直接在pom文件中加入了pagehelper-spring-boot-starter,然後問題就來了,項目無法啟動,無法創建相應的mapper類
回頭看之前幹凈的項目,發現導入的spring boot 版本是1.5.16.RELEASE , 然後修正版本在測試,問題完美解決!
spring boot整合雙持久層框架jpa、mybatis