当前使用版本(必须填写清楚,否则不予处理)
springboot 2.1.4release集成mybatis plus2.3 连接mysql项目成功,集成hive连接时 因为另外配置了datasource,导致mybatis plus默认读取了hive datasource并连接 从而报错
该问题是怎么引起的?(最新版上已修复的会直接close掉)
说明:springboot 2.1.4release集成mybatis plus2.3本身运行良好, springboot 2.1.4release集成hive运行良好, 当两个集成到一个项目中时,mybatis plus默认加载了hive配置的datasource,从而报错
重现步骤
暂时官网未见可以避免不读hive datasource的配置 请提供解决方法 thx
报错信息
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: Could not open client transport with JDBC Uri: jdbc:hive2://10.0.68.233:10000/dm: null
Comment From: miemieYaho
那就自己给定数据库类型
Comment From: Zerppen
@miemieYaho 请问这个类型设定后有用吗? 现在默认会去加载Datasource 构造方法,这里就自动连hive了
Comment From: Zerppen
mybatis-plus:
mapper-locations: classpath*:/mapperxml/*.xml
# 实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: com.yh.api.entity
global-config:
# 数据库相关配置
db-config:
db-type: MYSQL
# 主键类型 AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
id-type: AUTO
# 字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断"
field-strategy: NOT_NULL
# 驼峰下划线转换
column-underline: true
# 刷新mapper 调试神器
refresh-mapper: true
# 数据库大写下划线转换
#capital-mode: true
# 逻辑删除配置
logic-delete-value: -1
logic-not-delete-value: 0
设置后还是一样
Comment From: miemieYaho
后续会移除
Comment From: Stanford2299
有好的解决办法 么,现在我是用druid连接池,但是就会出现这样的问题.......如果有好的办法还请共享
Comment From: Stanford2299
给你找到了,你试一下可以取消https://blog.csdn.net/qq_21187515/article/details/90237885