spring boot整合双持久层框架jpamybatis

Posted tmlh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot整合双持久层框架jpamybatis相关的知识,希望对你有一定的参考价值。

  公司之前用的是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整合双持久层框架jpamybatis的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot系列Spring Boot整合持久层

整合持久层框架springDatajpa+访问数据库

Spring Boot:整合MyBatis框架

不学mybatis直接学spring boot

Day382.持久层整合 -Spring5

Spring Boot 入门之持久层篇