1. 程式人生 > >spring boot整合雙持久層框架jpa、mybatis

spring boot整合雙持久層框架jpa、mybatis

分享 註意 準備 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