zoukankan      html  css  js  c++  java
  • mybatis的报错总结_____2Error updating 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 ri

    在编写动态sql时 trim的属性写错了,如下图:

    错误示范:

    (接口的xml配置文件中:)

    1  <update id="modifyBill" parameterType="Bill">
    2         update smbms_bill
    3         <trim suffix="set" prefixOverrides="," prefix="where id=#{id}">
    4         <if test="billCode!=null">billCode=#{billCode},</if>
    5             <if test="productName!=null">productName=#{productName},</if>
    6             <if test="productDesc!=null">productDesc=#{productDesc}</if>
    7         </trim>
    8     </update>

    报错日志:

    Error updating 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 'where id=3 billCode='33333',
    
    
    //可以看到日志中打印出来的sql语句也是有错的,如下:
    ### SQL: update smbms_bill          where id=? billCode=?,             productName=?,             productDesc=? set

    正确的示范:

    接口的xml配置文件中:

     <!--最后一个没有逗号~~~~~-->
        <update id="modifyBill" parameterType="Bill">
            update smbms_bill
            <trim prefix="set" prefixOverrides="," suffix="where id=#{id}">
            <if test="billCode!=null">billCode=#{billCode},</if>
                <if test="productName!=null">productName=#{productName},</if>
                <if test="productDesc!=null">productDesc=#{productDesc}</if>
            </trim>
        </update>

    打印出来的sql语句:

    [com.xbf.dao.bill.BillMapper.modifyBill]-==>  Preparing: update smbms_bill set billCode=?, productName=?, productDesc=? where id=? 

    总结:(网上找的图,感觉说的很清晰!)

    prefix:字首 eg:set

    prefixOverrides:字首的替换 eg:  ,

    suffix:后缀 eg:where id=#{ id }

  • 相关阅读:
    hdu4930 Fighting the Landlords(模拟 多校6)
    hdu4888 多校B 最大流以及最大流唯一推断+输出方案
    xUtils介绍 -- DbUtils、ViewUtils、HttpUtils、BitmapUtils
    java 读取properties文件
    poj1062昂贵的聘礼
    杭电 HDU 2717 Catch That Cow
    iOS使用自己定义字体
    Elasticsearch 2014年10月简报
    html 上下左右都居中
    Linux 比较判断运算(if else)
  • 原文地址:https://www.cnblogs.com/xbfchder/p/11247715.html
Copyright © 2011-2022 走看看