美文网首页
spring boot mybatis 动态建表

spring boot mybatis 动态建表

作者: _大叔_ | 来源:发表于2020-10-27 16:43 被阅读0次

项目环境

spring boot + mybatis + druid

项目代码

    <update  id="createTelemetryTable" parameterType="java.util.List">
        <foreach item="item" index="index" collection="list">
            CREATE TABLE if not exists `${item}` (
                sys_id bigint NOT NULL,
                mpnt_id bigint NOT NULL,
                date_time datetime NOT NULL,
                value_id DECIMAL(10,2) NOT NULL
            ) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
        </foreach>
    </update>

报错

Caused by: java.sql.SQLException: sql injection violation, multi-statement not allow : CREATE TABLE if not exists `rt_telemetry_p` (
                sys_id bigint NOT NULL,
                mpnt_id bigint NOT NULL,
                date_time datetime NOT NULL,
                value_id DECIMAL(10,2) NOT NULL
            ) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

解决方案

在yml 里 数据库连接 url 中加入

allowMultiQueries=true

在yml 里 druid 配置中加如

wall:
    multi-statement-allow: true

druid 解决方案转载

相关文章

网友评论

      本文标题:spring boot mybatis 动态建表

      本文链接:https://www.haomeiwen.com/subject/qzyxvktx.html