mybatis中如何实现一个标签执行多个sql语句

 更新时间:2024年04月19日 14:35:01   作者:想养一只!  
这篇文章主要介绍了mybatis中如何实现一个标签执行多个sql语句问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mybatis一个标签执行多个sql语句

在删除标签中想要添加另外三个sql实现主键重新排序的功能,这样一个 delete 标签里面一共是需要执行四个sql语句,测试的时候一直报错说语法有问题,但在数据库中测试sql又是成功的。

问题

其实这个语法是没有问题的,报错提示语法错误的主要原因是因为配置不对,导致这样编写的格式在mybatis中不被承认,所以才会语法错误。

解决

在配置数据源的地方添加 allowMultiQueries=true 即可,表示允许多条sql语句执行(记得在前面使用&隔开)。


mybatis+mysql中一个标签内写两条sql语句报错

    <update id="bindStu">
        update edu_student set user_username=#{user_username} where stu_id = #{stu_id};
        update edu_user set stu_id=#{stu_id} where user_username=#{user_username};
    </update>

报错如下

### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for the right
syntax to use near 'update edu_user set stu_id='2' where user_username='111'' at line 2 
### The error may exist in com/yue/mapper/UserMapper.xml ### The error may involve 
defaultParameterMap ### The error occurred while setting parameters ### SQL: update 
edu_student set user_username=? where stu_id = ?; update edu_user set stu_id=? where 
user_username=?; ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL 
server version for the right syntax to use near 'update edu_user set stu_id='2' where 
user_username='111'' at line 2 ; bad SQL grammar []; nested exception is 
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL 
syntax; check the manual that corresponds to your MySQL server version for the right 
syntax to use near 'update edu_user set stu_id='2' where user_username='111'' at line 2

经查阅资料后发现

mybatis+mysql时可以一个标签内写多条语句,只不过需要mybatis在连接mysql时在url处加上allowMultiQueries=true

如下,在末尾加上即可:

jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?
useSSL=false&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java基础异常处理代码及原理解析

    Java基础异常处理代码及原理解析

    这篇文章主要介绍了java基础异常处理代码及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • SpringBoot开发案例 分布式集群共享Session详解

    SpringBoot开发案例 分布式集群共享Session详解

    这篇文章主要介绍了SpringBoot开发案例 分布式集群共享Session详解,在分布式系统中,为了提升系统性能,通常会对单体项目进行拆分,分解成多个基于功能的微服务,可能还会对单个微服务进行水平扩展,保证服务高可用,需要的朋友可以参考下
    2019-07-07
  • 使用SpringBoot和JPA实现批量处理新增、修改

    使用SpringBoot和JPA实现批量处理新增、修改

    最近项目需要在JPA中使用ID进行批量更新,所以下面这篇文章主要给大家介绍了关于使用SpringBoot和JPA实现批量处理新增、修改的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • SpringBoot解决406错误之返回对象缺少Getter/Setter方法引发的问题

    SpringBoot解决406错误之返回对象缺少Getter/Setter方法引发的问题

    在Spring Boot开发中,接口请求返回数据是系统交互的重要环节,然而,开发过程中常常会遇到由于数据类型或返回格式问题导致的错误,其中最常见的就是406 Not Acceptable异常,本篇文章以实际的案例出发,详细分析在POST请求中产生406错误的原因
    2024-11-11
  • Java如何优雅地关闭资源try-with-resource及其异常抑制

    Java如何优雅地关闭资源try-with-resource及其异常抑制

    这篇文章主要介绍了Java如何优雅地关闭资源try-with-resource及其异常抑制,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • java实现二维数组转置的方法示例

    java实现二维数组转置的方法示例

    这篇文章主要介绍了java实现二维数组转置的方法,结合实例形式详细分析了java二维数组转置的原理、实现步骤与相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • win10 eclipse配置环境变量的教程图解

    win10 eclipse配置环境变量的教程图解

    本文通过图文并茂的形式给大家介绍了win10 eclipse配置环境变量的方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-07-07
  • 5分钟搞懂java注解@Annotation的具体使用

    5分钟搞懂java注解@Annotation的具体使用

    这篇文章主要介绍了5分钟搞懂java注解@Annotation的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • JRebel2023.3 插件使用及安装步骤详解

    JRebel2023.3 插件使用及安装步骤详解

    JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效,IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费时间浪费生命,目前对于idea热部署最好的解决方案就是安装JRebel插件,本文分步骤介绍的非常详细,一起看看吧
    2023-08-08
  • SpringBoot和Vue实现动态二维码的示例代码

    SpringBoot和Vue实现动态二维码的示例代码

    二维码在现代社交和营销活动中被广泛使用,本文主要介绍了SpringBoot和Vue实现动态二维码的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02

最新评论