mybatis问题

  1. MybatisPlus 遇到的问题
    1. 问题:dynamic-datasource-spring-boot-starter
    2. 问题:Oracle数据库
    3. 问题:mybatis和mybatisPlus的yml配置

MybatisPlus 遇到的问题

问题:dynamic-datasource-spring-boot-starter

报错

Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured.

SpringBoot 默认是单一数据源自动配置加载,所以禁止 SpringBoot 自动注入数据源配置即可解决

解决

@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)

问题:Oracle数据库

Mybatis & Oracle数据库批量插入SQL问题

注意:传递得 list 集合不能为空,否则会报错

img
1,表建立了序列
-- SEQ_ACC_ACCOUNTING_DATA.NEXTVAL 获取 SEQ_ACC_ACCOUNTING_DATA序列值,
<insert>
INSERT INTO 表名 (id,fldS1,fldS2)
    select SEQ_ACC_ACCOUNTING_DATA.NEXTVAL,A.* from(
        <foreach collection="list" item="item" index="index" separator="UNION ALL">
            SELECT
             #{item.fldS1, jdbcType=VARCHAR} as fldS1,
             #{item.fldS2, jdbcType=VARCHAR} as fldS2
            from dual 
        </foreach>
     ) A
</insert>



2,表没创建序列

<insert>
 INSERT INTO 表名 (id,fldS1,fldS2)
     select A.* from(
        <foreach collection="list" item="item" index="index" separator="UNION ALL">
            SELECT
             #{item.id, jdbcType=VARCHAR},
             #{item.fldS1, jdbcType=VARCHAR},
             #{item.fldS2, jdbcType=VARCHAR}
            from dual 
        </foreach>
     ) A
</insert>

问题:mybatis和mybatisPlus的yml配置

mybatis和mybatisPlus 只能配置一个,如果使用mybatisplus使用如下配置即可
mybatis-plus:
    # 搜索指定包别名
    typeAliasesPackage: com.ruoyi.**.domain
    # 配置mapper的扫描,找到所有的mapper.xml映射文件
    mapperLocations: classpath*:mapper/**/*.xml
    # 加载全局的配置文件
    configLocation: classpath:mybatis/mybatis-config.xml
    configuration:
      log-impl:  #开启sql日志
    global-config:
      db-config:
        logic-delete-value: 2 # 逻辑已删除值(默认为 2)
        logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

configLocation 和 configuration 不能同时存在
可以把 configuration 配置到 configLocation扫描的xml文件中

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 全局参数 -->
    <settings>
        <!-- 使全局的映射器启用或禁用缓存 -->
        <setting name="cacheEnabled"             value="true"   />
        <!-- 允许JDBC 支持自动生成主键 -->
        <setting name="useGeneratedKeys"         value="true"   />
        <!-- 配置默认的执行器.SIMPLE就是普通执行器;REUSE执行器会重用预处理语句(prepared statements);BATCH执行器将重用语句并执行批量更新 -->
        <setting name="defaultExecutorType"      value="SIMPLE" />
        <!-- 指定 MyBatis 所用日志的具体实现 -->
        <setting name="logImpl"                  value="org.apache.ibatis.logging.stdout.StdOutImpl"  />
        <!-- 使用驼峰命名法转换字段 -->
        <!-- <setting name="mapUnderscoreToCamelCase" value="true"/> -->
    </settings>

</configuration>

日夜颠倒头发少 ,单纯好骗恋爱脑 ,会背九九乘法表 ,下雨只会往家跑 ,搭讪只会说你好 ---- 2050781802@qq.com

×

喜欢就点赞,疼爱就打赏

相册 说点什么