如果这样来写一个 mapper

1     <update id="createTable3" parameterType="map">
2 drop table if exists ${tableName};
3 CREATE TABLE ${tableName} (
4 field_1 VARCHAR(255) NOT NULL,
5 field_2 VARCHAR(255) NOT NULL
6 )ENGINE=INNODB DEFAULT CHARSET=utf8;
7 </update>

这一个mapper的update标签里有两条SQL语句,我的本意是如果原表存在,那么就把原表删除再新建表。

但是这样就会抛出SQL语句语法存在问题,后来了解到原因很简单,同一个标签一次只可以执行一条SQL语句。

所以要实现这个目的可以再写一个标签,把两条SQL语句分开执行,这个问题应该是存在解决办法的,目前我只是把SQL语句分开写,日后看到了好方法再来修改。

代码

 1 <mapper namespace="com.reliable.dao.CreateMapper">
2 <update id="createTable3" parameterType="map">
3 drop table if exists ${tableName};
4 CREATE TABLE ${tableName} (
5 field_1 VARCHAR(255) NOT NULL,
6 field_2 VARCHAR(255) NOT NULL
7 )ENGINE=INNODB DEFAULT CHARSET=utf8;
8 </update>
9 <!--如果原表存在则删除表-->
10 <update id="dropTable3" parameterType="map">
11 drop table if exists ${tableName}
12 </update>
13 </mapper>

mybatis一次执行多条SQL语句报错的更多相关文章

  1. MyBatis一次执行多条SQL语句

    MyBatis一次执行多条SQL语句 有个常见的场景:删除用户的时候需要先删除用户的外键关联数据,否则会触发规则报错. 解决办法不外乎有三个:1.多条sql分批执行:2.存储过程或函数调用:3.sql ...

  2. Jmeter执行多条Mysql语句报错

    花了很长时间找原因,Jmeter一直返回的是MySql语法错误,就写了两条很简单的删除语句,并且在MySql里可以正常执行 包括换了jdbc驱动包,更改不同的Query Type等 后来发现两条语句拆 ...

  3. mybatis执行多条sql语句

    1,mybatis执行多条sql语句,有以下几种思路, a,存储过程 b,修改jdbc的参数,允许执行多条语句,如下所示: sqlserver可以直接使用begin,end来执行多条语句, mysql ...

  4. springBoot + mybatis实现执行多条sql语句出错解决方法

    在Idea中执行多条sql语句的修改(mybatis默认的是执行sql语句是执行单条,所以要执行多条的时候需要进行配置) 需要在连接字符串中添加上&allowMultiQueries=true ...

  5. C#实现执行多条SQl语句,实现数据库事务

    C#实现执行多条SQl语句,实现数据库事务 在数据库中使用事务的好处,相信大家都有听过银行存款的交易作为事务的一个例子.事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的 ...

  6. c#中执行多条sql语句【ORA-00911: 无效字符】

    问题描述: 在plsql里执行多条sql语句的时候,使用“,”(逗号)分隔,测试可以执行多条,而在C#执行多条sql语句的时候[ORA-00911: 无效字符]. 有时我们需要一次性执行多条sql语句 ...

  7. Spring 中jdbcTemplate 实现执行多条sql语句

    说一下Spring框架中使用jdbcTemplate实现多条sql语句的执行: 很多情况下我们需要处理一件事情的时候需要对多个表执行多个sql语句,比如淘宝下单时,我们确认付款时要对自己银行账户的表里 ...

  8. java执行多条SQL语句

    一次执行多条SQL的技术要点如下: DatabaseMetaData接口是描述有关数据库的整体综合信息,由于DatabaseMetaData是接口,所以没有构造方法,故不能使用new来创建Databa ...

  9. 执行多条SQL语句,实现数据库事务(不可传入Sql参数)

    执行多条SQL语句,实现数据库事务(不可传入Sql参数) http://blog.csdn.net/hanxuemin12345/article/details/9980371

  10. 如何在Oracle中一次执行多条sql语句 (.net C#)

    关键是不能换行,要加上begin ...sql... end;     每个SQL用:隔开,end后面必须加: 以下是拷贝于:http://www.cnblogs.com/teamleader/arc ...

随机推荐

  1. virtualbox中给redhat安装增强功能

    关于虚拟机中安装redhat请参考其他教程: 1.点击虚拟机菜单:设备--安装增强功能.... 2.ssh连接到redhat,执行以下操作: [root@rhel-server ~]# mount / ...

  2. 《系列二》-- 6、从零开始的 bean 创建

    目录 createBean() 的面纱 createBean() 的承包者: doCreateBean() 总结 阅读之前要注意的东西:本文就是主打流水账式的源码阅读,主导的是一个参考,主要内容需要看 ...

  3. [Android逆向]Exposed 破解 jwxdxnx02.apk

    使用exposed 遇到了一些坑,这里记录一下 源码: package com.example.exposedlesson01; import de.robv.android.xposed.IXpos ...

  4. 类型注解Callable

    from collections.abc import Callable """ Callable[[ParamType1, ParamType2], ReturnTyp ...

  5. 问题解决:由于找不到msvcr110.dll,无法继续执行代码

    报错 解决 下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=30679

  6. Vue.beforeEach is not a function报错

    使用导航守卫改变页面的title时报错了,明明在beaforeEach的参数中写了箭头函数也报下面的错误 后面发现我的问题在于直接导出了export.default new Router({--})中 ...

  7. 用linux命令cd 查找想要找的文件

    如果想找文件Computer下的bin文件,在终端输入绝对路径 cd /bin,不能输入 cd /Computer/bin,因为文件目录不对 文件目录可以在文件的终端看到,/bin就是正确的目录 比如 ...

  8. 关于STM32Fx部分引脚不可以正常输出高低电平的解决办法(不可以正常使用)

    一.概述 在一次电路版测试中,发现stm32的部分引脚不可以正常的输出高低电平,刚开始以为是板子没有焊接好所以导致的经过多次的测试,发现电路版没问题.当时就想不清楚了,后面就问学长,还有实验室的学长一 ...

  9. Python 潮流周刊第 40 期(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  10. Dungeon Master 题解

    这道题的题意简单来说:就是在3D迷宫里找出口,也就是三维地图,需要用到三维数组 由于本人写代码极易出错,所以在输入三维数组的时候修改了c(column,即列)的值,重复定义了没看到==,后面改成定义成 ...