关于springboot中对sqlSessionFactoryBean的自定义
作者:今夕是何年? 发布时间:2022-12-09 06:05:09
springboot sqlSessionFactoryBean自定义
1.新建一个配置类,加上configuration注解
2.定制化SqlSessionFactoryBean,然后交给容器管理
代码如下
@Configuration
public class MybatisConfig {
@Value("${mybatis.mapper-locations}")
private String mapperLocations;
@Bean
public SqlSessionFactoryBean configSqlSessionFactoryBean(DataSource dataSource) throws IOException {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
// configuration.setLogImpl(StdOutImpl.class);//标准输出日志
configuration.setLogImpl(NoLoggingImpl.class);// 不输出日志()
configuration.setMapUnderscoreToCamelCase(true);// 开启驼峰命名
configuration.setCallSettersOnNulls(true);// 开启在属性为null也调用setter方法
sqlSessionFactoryBean.setConfiguration(configuration);
sqlSessionFactoryBean.setDataSource(dataSource);
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setMapperLocations(resolver.getResources(mapperLocations));// 设置mapper文件扫描路径
return sqlSessionFactoryBean;
}
以上配置也可以通过properties文件配置
如:
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
mybatis.configuration.mapUnderscoreToCamelCase=true
mybatis.configuration.call-setters-on-nulls=true
springboot启动报找不到sqlSessionFactory
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/spring/boot/starter/MybatisPlusAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method ‘sqlSessionFactory' threw exception; nested exception is com.baomidou.mybatisplus.exceptions.MybatisPlusException: Error: GlobalConfigUtils setMetaData Fail ! Cause:java.sql.SQLException: oracle.jdbc.OracleDriver
原因是这个电脑 ,这个项目第一次启动,项目链接的是Oracle的数据库,Oracle没把自己jar包放在maven库,要自己安装
在maven仓库目录下 放置Oracle的jar包
再在cmd中切换到 这个目录下运行命令:
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=ojdbc14.jar
来源:https://www.cnblogs.com/fallmwu/p/13863141.html


猜你喜欢
- jol(java object layout)需要的依赖<dependency> <
- 详解Java对象的强、软、弱和虚引用+ReferenceQueue一、强引用(StrongReference)强引用是使用最普遍的引用。如果
- 1)1、1、2、3、5、8.......用递归算法求第30位数的值?首先我们能够发现从第3位数起后一位数等于前两位数值之和,即:x=(x-1
- Service翻译成中文是服务,熟悉Windows 系统的同学一定很熟悉了。A
- 回顾:上一篇文章总结了影院售票系统核心部分-售票,整个项目也就完成了2/3了,需求中也要求了对销售信息的保存,今天就继续总结销售信息的保存以
- 1. 概述官方JavaDocsApi: javax.swing.JList JList,列表框。JList 以列表的形式展示多个选项,允许用
- 前言:由于项目需求,短信验证码的接口需要换成阿里大于的,但是尴尬的发现阿里大于的jar包没有maven版本的,于是便开始了一上午的 * 引包之
- 一、创建web项目1、打开idea软件,点击界面上的Create New Project2、进入如下界面。选中 java Enterpris
- 一、定时任务的使用场景和常见的定时任务某个时间定时处理某个任务、发邮件、短信、消息提醒、订单通知、统计报表等定时任务划分单机定时任务:单机的
- ArrayList底层实现是数组,访问元素效率高 (查询快,插入、修改、删除元素慢)与LinkedList相比,它效率高,但线程不安全。Ar
- 在项目开始之前,我的环境已配置完成,具体环境如何配置可参考网络教程。下面我们开始项目的实现库的导入#include<iostream&
- 准备工作:import java.text.SimpleDateFormat;import java.util.Calendar;impor
- 题目描述Java创建线程的几种方式Java使用Thread类代表线程,所有线程对象都必须是Thread类或者其子类的实例。Java可以用以下
- 1. 快速创建maven管理的SpringBoot项目1、访问 http://start.spring.io/2、 选择构建工具Maven
- 今天要介绍一个概念,对象的克隆。本篇有一定难度,请先做好心理准备。看不懂的话可以多看两遍,还是不懂的话,可以在下方留言,我会看情况进行修改和
- 本文实例为大家分享了Java实现带图形界面聊天程序的具体代码,供大家参考,具体内容如下ServerDemo01.javaimport jav
- Java生态圈中有很多处理JSON和XML格式化的类库,Jackson是其中比较著名的一个。虽然JDK自带了XML处理类库,但是相对来说比较
- 本文实例讲述了Java继承Thread类创建线程类。分享给大家供大家参考,具体如下:一 点睛通过继承Thread类创建线程并启动多线程的步骤
- 在Android系统上开发游戏是Android开发学习者所向往的,有成就感也有乐趣,还能取得经济上的报酬。那怎样开发Androi
- 本文实例讲述了C#编程实现统计文件夹内文件和隐藏文件的方法。分享给大家供大家参考,具体如下:C#统计文件夹内的文件,包括隐藏文件,显示那个隐