码迷,mamicode.com
首页 > 其他好文 > 详细

### The error occurred while setting parameters, MyBatis框架使用报错原因及解决办法

时间:2020-03-08 21:53:09      阅读:1492      评论:0      收藏:0      [点我收藏+]

标签:遇到的问题   最好   div   erb   time   exception   pass   param   入参   

技术图片

### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: 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 delete,create_time,update_timeFROM tb_user WHERE user_id = 1 at line 1
### The error may exist in com/lints/leying/dao/IUserDAO.java (best guess)
### The error may involve com.lints.leying.dao.IUserDAO.getUserByPK-Inline
### The error occurred while setting parameters
### SQL: SELECT user_id,user_name,user_password,user_nickname,user_email,user_gender,user_avatar,delete,create_time,update_timeFROM tb_user WHERE user_id = ?

在项目开发过程中,笔者遇到这个问题,JVM报错大致意思就是SQL语法错误。

这里提供几个解决的问题思路:

1.检查sql语句,语法是否正确,最好的检查方法就是将sql语句复制到查询器中执行一遍。 

2.检查字段是否出现sql关键字!(比如delete,call),这个很重要,因为call在java中并不是关键字,但是在sql中是关键字! 

3.检查Mapper接口,参数名一定要对上!!! 否则运行时照样报错。

4.检查Mapper接口代码是否符合规范,mybaits动态注入参数使用“#”,而不是“$”符号。

 

我遇到的问题:sql语句中出现了mysql关键字,在IDEA中看了半天找不到错误,

技术图片

 

复制sql到navicat中运行,一下找到错误。

技术图片

解决办法是在关键字delete,加上`delete`。

### The error occurred while setting parameters, MyBatis框架使用报错原因及解决办法

标签:遇到的问题   最好   div   erb   time   exception   pass   param   入参   

原文地址:https://www.cnblogs.com/Lints/p/12444942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!