如果建表语句的静态的那完全不用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注入的攻击,需要具体逻辑具体校验


转载注明出处:www.meidanlong.com

通过Mybatis建表问题相关推荐

  1. Springboot,Mybatis根据实体类自动建表

    Springboot,Mybatis根据实体类自动建表 在创建实体类的同时还要在数据库建表,如果只是很少的属性那么无所谓,但是当实体类很多或者字段很多时这就是一个非常让人不爽的事情了 通常有两种思路, ...

  2. Mybatis——注入执行sql查询、更新、新增以及建表语句

    文章目录 前言 案例 dao和mapper编写 XXXmapper.xml编写 编写业务层代码,进行注入调用 额外扩展--创建表语句 前言 在平时的项目开发中,mybatis应用非常广泛,但一般都是直 ...

  3. mybatis自动建表oracle,利用mybatis-generator自动生成代码 - 菩提树下的杨过 - 博客园...

    mybatis-generator 有三种用法:命令行.eclipse插件.maven插件.个人觉得maven插件最方便,可以在eclipse/intellij idea等ide上可以通用. 下面是从 ...

  4. 【MyBatis笔记】16-多对多关系建表

    多对多关系建表 多对多关系 多对多关系建表原则 domain 多对多关系 一个老师可以教多个学生,一个学生可以被多个老师教. 一个学生可以选择多门课程,一门课程可以被多个学生选择. 一个用户可以选择多 ...

  5. 【MyBatis笔记】09-一对多关系建表

    多表操作 表之间关系 一对多关系建表原则 表之间关系 一对一关系:一夫一妻. 一对多关系: 一个部门有多个员工,一个员工只能属于某一个部门. 一个班级有多个学生,一个学生只能属于一个班级. 多对多关系 ...

  6. mysql 分库分表 建表_【分库分表】sharding-jdbc实践—分库分表入门

    一.准备工作 1.准备三个数据库:db0.db1.db2 2.每个数据库新建两个订单表:t_order_0.t_order_1 DROP TABLE IF EXISTS`t_order_x`;CREA ...

  7. oracle先删后建,oracle 建表之前先删除语句

    首先,Oracle 没有这种语句 create table xxx if exists! 所以我们可以另辟蹊径,通过写存储过程,然后用mybatis 调用,在动态建表之前先调用存储过程验证时候有该表, ...

  8. 【SSH】——Hibernate实现简单的自动建表

    转载:http://blog.csdn.net/u010066934/article/details/49078445 [与ORM] Object Relational Mapping,对象关系映射, ...

  9. java代码内创建mysql索引_点评阿里JAVA手册之MySQL数据库 (建表规约、索引规约、SQL语句、ORM映射)...

    下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:MySQL数据库 (建表规约.索引规约.SQL语句.ORM映 ...

最新文章

  1. nutch如何发布插件
  2. 【php】windows安装PHP5.5+Apache2.4
  3. 使用sizeof计算类的大小
  4. 大型“数码管”解决方案:用了 28 个舵机的时钟,到底有什么特别?
  5. 【工程师综合项目二】React + Koa2打造『JS++官网管理后台』
  6. android打包工具多渠道批量打包,Android 快速渠道批量打包详解教程-美团多渠道打包方案...
  7. IntelliJ IDEA 2020.1 快速查找文件
  8. npm上传自定义vue组件入门
  9. (65)Verilog HDL多模块重复例化:generate for
  10. RT-Thread Nano移植
  11. shell之sed、awk
  12. 使用Java实现简单串口通信
  13. 【语音模型】基于matlab语音信号数学模型【含Matlab源码 540期】
  14. ie降级,解决ie卡死,打不开,弹出页空白等问题
  15. 干货来袭!几行代码实现pdf添加水印和去除水印
  16. Android关于BottomNavigationView效果实现指南
  17. 李飞飞:我怎样走上 AI 研究之路
  18. 关于administrator没有管理员权限问题
  19. Linux性能分析工具perf基础使用介绍
  20. java画板_java 画板画图程序

热门文章

  1. slf4j+log4j2的整合配置
  2. spring4.0之二:@Configuration的使用
  3. IOS初级:UIScrollView UIPageControl
  4. 火狐浏览器插件HTTPFOX抓传输数据
  5. 转载之NetApp RAID技术介绍
  6. [1.1]XMI 与UML结合开发企业应用中业务模型
  7. BZOJ.4199.[NOI2015]品酒大会(后缀自动机 树形DP)
  8. luoguP5035金坷垃
  9. ftp服务器在linux中安装
  10. 网络流量监控分析工具 Ntopng 安装