mybatis⼀次执⾏多条SQL语句报错
如果这样来写⼀个 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语句,我的本意是如果原表存在,那么就把原表删除再新建表。
drop table if exists user
但是这样就会抛出SQL语句语法存在问题,后来了解到原因很简单,同⼀个标签⼀次只可以执⾏⼀条SQL语句。
所以要实现这个⽬的可以再写⼀个标签,把两条SQL语句分开执⾏,这个问题应该是存在解决办法的,⽬前我只是把SQL语句分开写,⽇后看到了好⽅法再来修改。
代码
1<mapper namespace="liable.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>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。