首页 > 数据库技术 > 详细

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; che

时间:2018-01-08 14:15:11      阅读:258      评论:0      收藏:0      [点我收藏+]

出现此种错误,我暂时遇到了两次。 
1 我的字段的名称和数据库的关键字重合。 

 技术分享图片

 

上图中的desc是默认降序排列的意思。 
2 第二次出现的异常是我在重构代码阶段遇到的一个bug.不过我暂时不能理解,虽然解决了错误。 
删除操作的代码如下:

 public void deleteProduct(Long id) {
        sql = "DELETE  FROM t_product WHERE id= ?";
        JDBCTemplate.templateDML(sql,id);
 }

或者如下的写法:都是正确的。

 public void deleteProduct(Long id) {
        sql = "DELETE  FROM t_product WHERE id="+id;
        JDBCTemplate.templateDML(sql);
    }

但是遇上查询一个结果的时候出现了问题:

public Product getProductById(Long id) {
        sql="SELECT * FROM  t_product  WHERE id=?";
        List<Product> list = JDBCTemplate.templateDQL(sql,id);
        return list.size()==1?list.get(0):null;
    }

修改之后又可以啦;

public Product getProductById(Long id) {
        sql="SELECT * FROM  t_product  WHERE id="+id;
        List<Product> list = JDBCTemplate.templateDQL(sql);
        return list.size()==1?list.get(0):null;
    }

 

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; che

原文:https://www.cnblogs.com/gosaint/p/8242166.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!