Mybatis建表_mybatis创建表语句-程序员宅基地

技术标签: Mybatis  问题解决  

如果建表语句的静态的那完全不用Mybatis,在数据库就可以建。最近工作中遇到问题需要在Mybatis动态建表,尝试来解决这个问题。

首先我们拿到建表语句 String sqlText = “…”

正确方案

应该将表名跟建表语句分开,使之大致拼成一个CREATE TABLE 的SQL,如:

    <update id="createNewTable">
        CREATE TABLE ${tableName} AS ${sqlText}
    </update>

错误方案

    <update id="createNewTable">
         ${sqlText}
    </update>

这是我最先一拍脑袋想到的,但是这句话被解析的时候会解析成了一个占位符“?”,本身很好理解,Mybatis找不到具体的SQL语句报错。


小提示:

1.建表语句的参数应该使用不带引号的 ‘$ {…}’
2.应为选择了$,所以有可能会受到SQL注入的攻击,需要具体逻辑具体校验

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jarwis/article/details/85265400

智能推荐

笔记本电脑插入耳机只能外放,耳机没声音_耳机连到笔记本电脑后只有输入没有输出-程序员宅基地

文章浏览阅读5.4w次,点赞6次,收藏14次。通常的一些做法,请参考http://jingyan.baidu.com/article/64d05a0267a80ede55f73b14.html不过我的耳机没声音是这么解决的,感觉比较坑爹,曾一度以为耳机坏了,谁知是驱动的问题。不吐槽了,请看下面:(1)_耳机连到笔记本电脑后只有输入没有输出

windows下redis安装+phpredis扩展_php redis-x64-2.8.2104.msi-程序员宅基地

文章浏览阅读236次。准备工作:Redis-x64-2.8.2104.zip(可根据自己的操作系统进行选择,这里使用的是64位)php_redis.dll(根据php版本,选择对应的扩展版本)操作: 1.解压Redis-x64-2.8.2104.zip,打开其中的redis-server.exe,出现如下图: 2.打开redis-cli.exe,出现如下图:_php redis-x64-2.8.2104.msi

k8s部署redis有状态服务statefulset-程序员宅基地

文章浏览阅读1k次。apiVersion: v1kind: ConfigMapmetadata: name: redis-conf namespace: dmgeo-libdata: redis.conf: | bind 0.0.0.0 port 6379 requirepass 123456 pidfile .pid appendonly yes cluster-config-file nodes-6379.c.

444项国家标准3月1日起实施-程序员宅基地

文章浏览阅读1.6k次。2022年3月1日起,10项强制性国家标准和434项推荐性国家标准开始实施。标准君根据国家标准委官方发布信息,对2022年3月1日起正式实施的国家标准进行了整理汇编,供大家参考,具体标准名单如下:10项强制性国家标准序号 标准号 是否采标 标准名称 实施日期 1 GB 40070-2021 儿童青少年学习用品近视防控卫生要求 2022/3/1 2 GB 14391-2021 卫星紧急无线电示位标性能要求 .

python实现多线程-程序员宅基地

文章浏览阅读6.1k次,点赞12次,收藏53次。本文转载于上面的链接.文章目录1 线程基本概念1.1 线程是什么?1.2 线程和进程关系?2 Python线程模块3 线程间同步4 线程池4.1 传统多线程问题?4.2 线程池基本原理:5 协程5.2 Send来了6. python 进行并发编程6.1 使用asyncio6.2 使用async/await7 小结1 线程基本概念1.1 线程是什么?线程是指进程内的一个执行单元..._python实现多线程

物联网 长连接 服务器_为什么物联网还有很长的路要走-程序员宅基地

文章浏览阅读417次。物联网 长连接 服务器It’s IoT Week at SitePoint! All week we’re publishing articles focused on the intersection of the internet and the physical world, so keep checking the IoT tag for the latest updates. 这是Si..._长连接 物联网

随便推点

Nginx绑定域名 nginx绑定多个域名-程序员宅基地

文章浏览阅读1k次。nginx绑定域名方法很简单我们只要在nginx中servers中加入server然后把server_name写上你的域名就实现域名绑定了。Server 名称使用 “server_name” 指令来定义,并决定用哪一个 server 区块来处理请求一、每个域名一个文件的写法首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/ser_nginx绑定域名

MySql - 数据库连接池_public void close(connection conn, statement stat,-程序员宅基地

文章浏览阅读175次。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。 --- 百度百科C3P0连接池使用步骤;1、导入相关jar包 2、编写c3p0-config.xml文件 -- 自动加..._public void close(connection conn, statement stat, resultset rs) { if (rs

IDEA如何显示左侧的project和右侧的maven 工具栏并固定位置折叠不会隐藏每次都要调出_idea maven 如何折叠-程序员宅基地

文章浏览阅读2.9w次,点赞18次,收藏27次。file->settings在Appearance&Behavior在选择Appearance在右边window options下选择show tool windowsbars点击apply,ok就搞定了效果:_idea maven 如何折叠

依赖注入那些事儿_并利用spring ioc容器实现模块功能。 有一个叫igame的游戏公司,正在开发一款arpg-程序员宅基地

文章浏览阅读933次。目录目录1 IGame游戏公司的故事 1.1 讨论会 1.2 实习生小李的实现方法 1.3 架构师的建议 1.4 小李的小结2 探究依赖注入 2.1 故事的启迪 2.2 正式定义依赖注入3 依赖注入那些事儿 3.1 依赖注入的类别 3.1.1 Setter注入 3.1.2 Co_并利用spring ioc容器实现模块功能。 有一个叫igame的游戏公司,正在开发一款arpg

数据库中查询结果去重_数据库查询列的值去重-程序员宅基地

文章浏览阅读1.7k次。有重复数据主要有一下几种情况:1.存在两条完全相同的纪录这是最简单的一种情况,用关键字distinct就可以去掉example: select distinct * from table(表名) where (条件)2.存在部分字段相同的纪录(有主键id即唯一键)如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性特点及group by分组example:s..._数据库查询列的值去重

C语言参数传递二维数组—保持城市天际线-程序员宅基地

文章浏览阅读217次。今天做了LeetCode上的一道题,原理较简单,很容易相处解法,但是在编写代码过程中传递二维数组时总是会发生错误,因此总结了下如何传递:参考博客 http://www.cnblogs.com/yangxi/archive/2012/03/22/2411452.html题目 :在二维数组grid中,grid[i][j]代表位于某处的建筑物的高度。 我们被允许增加任何数量(不同建..._c 语言城市天际线可以表示为二维列表,其中 1 表示建筑物。在下面的示例中,最高建

推荐文章

热门文章

相关标签