1. 程式人生 > >springboot整合mybatis-plus(解決引用jar包配置類不起作用問題)

springboot整合mybatis-plus(解決引用jar包配置類不起作用問題)

新增依賴

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</
artifactId
>
<scope>test</scope> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${version}</version> </dependency> <dependency
>
<groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>${version}</version> <scope>runtime</scope> </dependency>

配置

application.yml 配置檔案中新增 H2 資料庫的相關配置:

spring:
  datasource:
    driver-class-name
: org.h2.Driver schema: classpath:db/schema-h2.sql data: classpath:db/data-h2.sql url: jdbc:h2:mem:test username: root password: test

在 Spring Boot 啟動類中新增@MapperScan 註解,掃描 Mapper 資料夾:
調整 SqlSessionFactory 為 MyBatis-Plus 的 SqlSessionFactory:

@Bean
    @ConfigurationProperties(prefix = "mybatis")
    public MybatisSqlSessionFactoryBean sqlSessionFactoryBean() {
        MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new MybatisSqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource());
        //分頁外掛
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
		 Interceptor[] plugins = {paginationInterceptor};
        sqlSessionFactoryBean.setPlugins(plugins);
        return sqlSessionFactoryBean;
    }

分頁外掛可以使用上面的方式,或者下面這種方式:

package com.zkt.datasource.config;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;

@Component
public class MybatisPlusConfig {

    /**
     * mybatis-plus分頁外掛<br>
     * 文件:http://mp.baomidou.com<br>
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        System.out.println("注入分頁外掛");
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        return paginationInterceptor;
    }
}

如果將該配置類放在了公共jar包中,直接引用該jar包會發現分頁外掛不起作用,可以採用下面的方式:

...
@Autowired
private PaginationInterceptor paginationInterceptor;

@Bean
@ConfigurationProperties(prefix = "mybatis")
public MybatisSqlSessionFactoryBean sqlSessionFactoryBean() {
    MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new MybatisSqlSessionFactoryBean();
    sqlSessionFactoryBean.setDataSource(dataSource());
    //關鍵程式碼
    Interceptor[] plugins = {paginationInterceptor};
    sqlSessionFactoryBean.setPlugins(plugins);
    return sqlSessionFactoryBean;
}
...

配置 MapperScan 註解:

@SpringBootApplication
@MapperScan("com.xx.xx")
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(QuickStartApplication.class, args);
    }

}

使用mybatis-plus時,需要特別指定(可以不配置mybatis的該屬性,但是隻配置mybatis的該屬性是不行的):

mybatis-plus:
  mapper-locations: classpath*:mybatis/*.xml

需要特別指出的是,mybatis-plus分頁外掛和pageHelper分頁外掛是可以同時在一個專案中使用的(此時需要在ymlproperties配置檔案中同時配置mybatis-plus.mapper-locationsmybatis.mapper-locations兩個屬性)。

相關推薦

springboot整合mybatis-plus(解決引用jar配置作用問題)

新增依賴 <dependency> <groupId>org.springframework.boot</groupId> <

springboot整合mybatis遇到無法掃描MaperScan的問題

cti exceptio start leg inter 3.1 clip main app 1.啟動類加上@MaperScan註解後,一直報錯如下: Error creating bean with name ‘platUserMapper‘ defined in fil

springboot整合mybatis-plus,以及mybatis-plus入門使用

mybatis-plus是基於mybatis,相對於mybatis,他有許多特性是比較好用的,比如分頁查詢、表字段自動轉換為實體類屬性等,使用mybatis-plus與Spring Data JPA有點相似的地方,個人覺得mybatis-plus的分頁比JPA的分頁好用。其實

SpringBoot整合Mybatis-Plus和PageHelper分頁外掛,附專案原始碼

1 pom.xml配置檔案 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3

SpringBoot學習筆記(四):SpringBoot整合Mybatis-Plus+程式碼生成

簡介 官網:http://baomidou.oschina.io/mybatis-plus-doc/ 平時業務程式碼不復雜的時候我們寫什麼程式碼寫的最多,就是我們的SQL語句啊,配置那麼多的Mapper.xml,還要配置什麼resultMap這些東西,還要去管理paramtype

Springboot整合mybatis plus時的分頁使用

1.新增架包 com.baomidou.mybatis-plus 2.配置檔案 # Tomcat server: tomcat: uri-encoding: UTF-8 max-threads: 1000 min-spare-threads:

SpringBoot】——SpringBoot 整合mybatis-plus 單資料來源 & 多資料來源,附原始碼

相信大家已經看了不少的教程了,所以在此我不在贅述。。。。。。 遇到的坑,在專案中readme.md 中有描述。具體下載下來配置比較詳細,初始化sql ,單元測試。。。檢視流程即可。 demo非常簡單,下載下來參考 readme.md 修改必要內容即可完成配

springboot 整合 mybatis-plus

1、環境準備       idea 2018、mysql、jdk1.8 2、idea建立springBoot專案(網上步驟很多)       idea建立專案時可以選擇web、mybatis、mysql,這樣idea會自動載入其jar包;      但是還需要myba

SpringBoot整合MyBatis-plus

art 忽略 效率 hashcode @override 使用方式 pack 添加 iop 步驟 第一步:添加必要的依賴 如果想學習Java工程化、高性能及分布式、深入淺出。微服務、Spring,MyBatis,Netty源碼分析的朋友可以加我的Java高級交流:85463

springboot 整合mybatis-plus mysql

【前言】注意mybatis-plus版本如果和springboot 版本有關係,我當時用的springboot-2.1.4.REL

SpringBoot整合MyBatis-Plus框架(程式碼生成器)

MyBatis-Plus的簡介 Mybatis-Plus(簡稱MP)是一個 Mybatis 的增強工具,在 Mybatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。 程式碼生成器 通用的CURD 條件構造器 自定義SQL語句 分頁外掛、效能分析外掛 公共欄位自動填充 特性 無侵入:只做增強不

轉--解決VS2010,Resharper快捷鍵作用的問題!

有用 fontsize 選擇 gravity ews 圖片 選項 mar fill 摸索出來的,希望對你有用。 安裝完Resharper後的界面 進入【工具】-【選項】-【鍵盤】 按照步驟設置,設置成跟界面一樣的效果 開始Resharper的設置。 設置快捷

onchange監聽input值變化及input隱藏後change事件觸發的原因與解決方法(設定readonly後onchange作用解決方案)

轉自:https://www.cnblogs.com/white0710/p/7338456.html 1. onchange事件監聽input值變化的使用方法: <input id="test"></input> $("input"

springMVC mybatis mysql 配置 事務作用的原因

springMVC和spring一起使用的時候,配置檔案會先後生成。大家現在多數喜歡用spring的註解方式進行配置,在配置檔案中會有包的掃描過程,然而spring的掃描生成的service是具有事務處理能力的service,springMVC掃描出來的service是不具有事務處理能力的service。sp

SpringBoot 外接tomcat引入本地jar了的解決辦法

問題: springboot多模組專案(內建tomcat可以 但是需要把jar加入主模組) 外接tomcat 引入後啟動執行後調介面方的方法時說找不到這個方法 排查後是jar沒引入進來(外接的加入主模組也無效果) 可是我這用idea的方式引入jar 這樣

spring ,springmvc,mybatis 最基本的整合,沒有多餘的jar和依賴 2018.9.29日

       最基本的ssm框架整合        本案例採用2018商業版intellij  idea  編輯器    maven專案管理工具  tomcat8.5 接著上一篇使用springmvc最基本配置開始  1.首先在原來的基礎上新增新的依賴 ,都是當前版本最高的依賴

idea中springboot整合mybatis到mapper介面的原因及解決方法

整合網上以及開發時遇到的錯誤原因總結:路徑不對 1.maper.xml名稱空間不對應mapper介面的位置 2.xml方法名未對應上mappe接口裡面的方法名 、 3.mapper檔案未注入成功,也就是位置掃描錯誤。 4.如果都檢查完了,一定要檢查編譯後的檔

SpringBoot整合系列--整合MyBatis-plus

實現邏輯 加載 類加載 file 導致 code 性能分析 res version 原創作品,可以轉載,但是請標註出處地址:https://www.cnblogs.com/V1haoge/p/10125279.html SpringBoot整合MyBatis-plus 步驟

springboot 整合mybatis,mapper介面和對應的mapper對映檔案放在同一個下的配置

一、springboot整合mybatis後,需要進行幾個步驟的配置: 1、mapper包下的mapper介面都需要新增@Mapper註解。 2、啟動類上面新增@MapperScan(basepackages={"com.web.mapper"})註解。 3、需要在po

SpringBoot 2.x(五):整合Mybatis-Plus

簡介 Mybatis-Plus是在Mybatis的基礎上,國人開發的一款持久層框架。 並且榮獲了2018年度開源中國最受歡迎的中國軟體TOP5 同樣以簡化開發為宗旨的Spring Boot與Mybatis-Plus放在一起會產生什麼樣的化學反應呢?下面我們來領略一下兩者配合帶來的效率上的提升。 Myba