spring boot整合双持久层框架jpa、mybatis

  公司之前用的是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 , 然后修正版本在测试,问题完美解决!

 

posted @ 2018-09-21 12:57  天莫  阅读(525)  评论(1编辑  收藏  举报