最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Mybatis-Plus時(shí)的SqlSessionFactory問題及處理

 更新時(shí)間:2021年12月16日 11:49:59   作者:canyun9798  
這篇文章主要介紹了使用Mybatis-Plus時(shí)的SqlSessionFactory問題及處理方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用Mybatis-Plus的SqlSessionFactory問題

前些日子工作中出現(xiàn)一個(gè)問題,項(xiàng)目中使用了MybatisPlus,然后出現(xiàn)了一個(gè)問題,Druid的其他的配置都可以正常使用,但是配置的SqlSessionFactory這個(gè)bean不能被加載,我在這個(gè)bean中加載的mybatis-config.xml文件也不能被加載,因?yàn)榇a里使用了攔截器進(jìn)行數(shù)據(jù)庫的自動分頁,找到問題后在這里mark一下。

其實(shí)這里不能加載的原因是因?yàn)镸ybatisPlus中自定義了MybatisSqlSessionFactoryBean這個(gè)類,而這個(gè)類是實(shí)現(xiàn)了接口FactoryBean<SqlSessionFactory>, InitializingBean, ApplicationListener<ApplicationEvent>,而在mybatis中有一個(gè)類也實(shí)現(xiàn)了這些接口,SqlSessionFactoryBean,所以在mybatisplus的配置文件中配置SqlSessionFactoryBean時(shí)需要換成mybatisplus中自定義的這個(gè)類MyBatisSqlSessionFactoryBean,并在類中加載對應(yīng)的mybatis-config.xml文件。

貼一下這兩個(gè)類的源碼,看一眼就明白了

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package org.mybatis.spring;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.ibatis.builder.xml.XMLConfigBuilder;
import org.apache.ibatis.builder.xml.XMLMapperBuilder;
import org.apache.ibatis.cache.Cache;
import org.apache.ibatis.executor.ErrorContext;
import org.apache.ibatis.io.VFS;
import org.apache.ibatis.logging.Log;
import org.apache.ibatis.logging.LogFactory;
import org.apache.ibatis.mapping.DatabaseIdProvider;
import org.apache.ibatis.mapping.Environment;
import org.apache.ibatis.plugin.Interceptor;
import org.apache.ibatis.reflection.factory.ObjectFactory;
import org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.transaction.TransactionFactory;
import org.apache.ibatis.type.TypeHandler;
import org.mybatis.spring.transaction.SpringManagedTransactionFactory;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.core.NestedIOException;
import org.springframework.core.io.Resource;
import org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy;
import org.springframework.util.Assert;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
public class SqlSessionFactoryBean implements FactoryBean<SqlSessionFactory>, InitializingBean, ApplicationListener<ApplicationEvent> {
    private static final Log LOGGER = LogFactory.getLog(SqlSessionFactoryBean.class);
    private Resource configLocation;
    private Configuration configuration;
    private Resource[] mapperLocations;
    private DataSource dataSource;
    private TransactionFactory transactionFactory;
    private Properties configurationProperties;
    private SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
    private SqlSessionFactory sqlSessionFactory;
    private String environment = SqlSessionFactoryBean.class.getSimpleName();
    private boolean failFast;
    private Interceptor[] plugins;
    private TypeHandler<?>[] typeHandlers;
    private String typeHandlersPackage;
    private Class<?>[] typeAliases;
    private String typeAliasesPackage;
    private Class<?> typeAliasesSuperType;
    private DatabaseIdProvider databaseIdProvider;
    private Class<? extends VFS> vfs;
    private Cache cache;
    private ObjectFactory objectFactory;
    private ObjectWrapperFactory objectWrapperFactory;
    public SqlSessionFactoryBean() {
    }
     。。。。。。
}

還有MybatisSqlSessionFactoryBean的

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.baomidou.mybatisplus.spring;
import com.baomidou.mybatisplus.MybatisConfiguration;
import com.baomidou.mybatisplus.MybatisXMLConfigBuilder;
import com.baomidou.mybatisplus.entity.GlobalConfiguration;
import com.baomidou.mybatisplus.enums.IEnum;
import com.baomidou.mybatisplus.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.handlers.EnumTypeHandler;
import com.baomidou.mybatisplus.mapper.SqlRunner;
import com.baomidou.mybatisplus.toolkit.GlobalConfigUtils;
import com.baomidou.mybatisplus.toolkit.PackageHelper;
import java.sql.SQLException;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;
import javax.sql.DataSource;
import org.apache.ibatis.builder.xml.XMLMapperBuilder;
import org.apache.ibatis.cache.Cache;
import org.apache.ibatis.executor.ErrorContext;
import org.apache.ibatis.io.VFS;
import org.apache.ibatis.logging.Log;
import org.apache.ibatis.logging.LogFactory;
import org.apache.ibatis.mapping.DatabaseIdProvider;
import org.apache.ibatis.mapping.Environment;
import org.apache.ibatis.plugin.Interceptor;
import org.apache.ibatis.reflection.factory.ObjectFactory;
import org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.transaction.TransactionFactory;
import org.apache.ibatis.type.EnumOrdinalTypeHandler;
import org.apache.ibatis.type.TypeHandler;
import org.apache.ibatis.type.TypeHandlerRegistry;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.transaction.SpringManagedTransactionFactory;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.core.NestedIOException;
import org.springframework.core.io.Resource;
import org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy;
import org.springframework.util.Assert;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
public class MybatisSqlSessionFactoryBean implements FactoryBean<SqlSessionFactory>, InitializingBean, ApplicationListener<ApplicationEvent> {
    private static final Log LOGGER = LogFactory.getLog(SqlSessionFactoryBean.class);
    private Resource configLocation;
    private Configuration configuration;
    private Resource[] mapperLocations;
    private DataSource dataSource;
    private TransactionFactory transactionFactory;
    private Properties configurationProperties;
    private SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
    private SqlSessionFactory sqlSessionFactory;
    private String environment = MybatisSqlSessionFactoryBean.class.getSimpleName();
    private boolean failFast;
    private Interceptor[] plugins;
    private TypeHandler<?>[] typeHandlers;
    private String typeHandlersPackage;
    private Class<?>[] typeAliases;
    private String typeAliasesPackage;
    private String typeEnumsPackage;
    private Class<?> typeAliasesSuperType;
    private DatabaseIdProvider databaseIdProvider;
    private Class<? extends VFS> vfs;
    private Cache cache;
    private ObjectFactory objectFactory;
    private ObjectWrapperFactory objectWrapperFactory;
    private GlobalConfiguration globalConfig = GlobalConfigUtils.defaults();
    public MybatisSqlSessionFactoryBean() {
    }
     。。。。。。
}

springboot+mybatis-plus報(bào)錯(cuò)Property'sqlSessionFactory'or'sqlSessionTemplate'are required

報(bào)錯(cuò)信息:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘TBaseAuthController': Unsatisfied dependency expressed through field ‘tBaseAuthService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘TBaseAuthServiceImpl': Unsatisfied dependency expressed through field ‘baseMapper'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘TBaseAuthMapper' defined in file [D:\瀏覽器下載\myframe\yss-server\target\classes\com\yss\cn\modules\mapper\TBaseAuthMapper.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Property ‘sqlSessionFactory' or ‘sqlSessionTemplate' are required

Caused by: java.lang.IllegalArgumentException: Property ‘sqlSessionFactory' or ‘sqlSessionTemplate' are required

解決方案:

添加jar包:

<dependency>
 <groupId>org.mybatis.spring.boot</groupId>
 <artifactId>mybatis-spring-boot-starter</artifactId>
 <version>1.3.2</version>
</dependency>

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringCloud解決feign調(diào)用token丟失問題解決辦法

    SpringCloud解決feign調(diào)用token丟失問題解決辦法

    在feign調(diào)用中可能會遇到如下問題:同步調(diào)用中,token丟失,這種可以通過創(chuàng)建一個(gè)攔截器,將token做透傳來解決,異步調(diào)用中,token丟失,這種就無法直接透傳了,因?yàn)樽泳€程并沒有token,這種需要先將token從父線程傳遞到子線程,再進(jìn)行透傳
    2024-05-05
  • java生成驗(yàn)證碼步驟歸納總結(jié)

    java生成驗(yàn)證碼步驟歸納總結(jié)

    這篇文章主要為大家詳細(xì)介紹了java生成驗(yàn)證碼的步驟總結(jié),需要的朋友可以參考下
    2017-04-04
  • 詳述IntelliJ IDEA 中自動生成 serialVersionUID 的方法(圖文)

    詳述IntelliJ IDEA 中自動生成 serialVersionUID 的方法(圖文)

    本篇文章主要介紹了詳述IntelliJ IDEA 中自動生成 serialVersionUID 的方法(圖文),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-11-11
  • Java實(shí)現(xiàn)經(jīng)典游戲超級瑪麗的示例代碼

    Java實(shí)現(xiàn)經(jīng)典游戲超級瑪麗的示例代碼

    在你的童年記憶里,是否有一個(gè)蹦跳、頂蘑菇的小人?本文將用java語言實(shí)現(xiàn)經(jīng)典游戲《超級瑪麗》,文中采用了swing技術(shù)進(jìn)行了界面化處理,需要的可以參考一下
    2022-02-02
  • java 中數(shù)組初始化實(shí)例詳解

    java 中數(shù)組初始化實(shí)例詳解

    這篇文章主要介紹了 本文主要講數(shù)組的初始化方法、可變參數(shù)列表以及可變參數(shù)列表對函數(shù)重載的影響的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 在Java中實(shí)現(xiàn)線程安全的單例模式的常見方式

    在Java中實(shí)現(xiàn)線程安全的單例模式的常見方式

    單例模式是一種常用的軟件設(shè)計(jì)模式,它確保一個(gè)類只有一個(gè)實(shí)例,并提供一個(gè)全局訪問點(diǎn),在多線程環(huán)境下,確保單例模式的線程安全性是非常重要的,因?yàn)槎鄠€(gè)線程可能會同時(shí)嘗試創(chuàng)建實(shí)例,導(dǎo)致實(shí)例不唯一的問題,本文介紹了在Java中實(shí)現(xiàn)線程安全的單例模式有幾種常見的方式
    2024-09-09
  • IntelliJ IDEA之高效代碼插件RainBow Brackets詳解

    IntelliJ IDEA之高效代碼插件RainBow Brackets詳解

    這篇文章主要介紹了IntelliJ IDEA之高效代碼插件RainBow Brackets詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • mybatis接收以逗號分隔的字符串批量查詢方式

    mybatis接收以逗號分隔的字符串批量查詢方式

    這篇文章主要介紹了mybatis接收以逗號分隔的字符串批量查詢方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java四種引用及在LeakCanery中應(yīng)用詳解

    java四種引用及在LeakCanery中應(yīng)用詳解

    這篇文章主要介紹了java四種引用及在LeakCanery中應(yīng)用,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • java分頁攔截類實(shí)現(xiàn)sql自動分頁

    java分頁攔截類實(shí)現(xiàn)sql自動分頁

    這篇文章主要為大家詳細(xì)介紹了java分頁攔截類可以實(shí)現(xiàn)sql自動分頁,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11

最新評論

开平市| 张掖市| 轮台县| 开原市| 上林县| 玉树县| 广河县| 南陵县| 凤山县| 斗六市| 禄劝| 漾濞| 汉源县| 德江县| 长顺县| 田林县| 安阳县| 南城县| 即墨市| 建湖县| 东港市| 布尔津县| 九龙城区| 铜鼓县| 福建省| 北宁市| 兴安县| 天长市| 阿合奇县| 准格尔旗| 阿巴嘎旗| 榆中县| 广元市| 渝北区| 孝感市| 安庆市| 庄浪县| 永安市| 宾川县| 荣成市| 高陵县|