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

猜你喜欢

转载自www.cnblogs.com/yue1234/p/12582972.html
今日推荐