mybatis中在.xml文件编写sql常见问题

1、sql中进行大小比对,列如“1>0”

      mybatis会自动将“<” “>”识别成标签中的红色部分  <if test="pd.LH_DM!= null and pd.LH_DM != ''">,会导项目启动报错

      解决方法:<![CDATA[ a.boxstatus>'4' ]]>

2、无效的列类型: 1111

insert into或update 时的数据值是null,null和空字符串是两码事别混淆。

字段类型是Strig时:Ccpxx_Jz=#{SINGL_WT,jdbcType=VARCHAR}

字段类型是Integer时:Ccpxx_Jz=#{SINGL_WT,jdbcType=NUMERIC}

字段类型是date时:to_date(#{DEPARTDATE},'yyyy-mm-dd')

3、当表中的某个字段设置为not null时是不可插入空值的,但是可以插入空字符串。

var sql1="insert into LM_mm_st_qty_lst(stqlstid,storerid,storername,packheadid,LH_DM,PART_LIST_NO,pkg_part_no,INPUTDATE,inputmanid,inputmanname,posid,posno,remainqty,comefrom)values";
        sql1+=" ('"+uuid1+"', '"+' '+"', '"+ckmc+"', '"+xjjtid+"','"+lm_lh+"', '"+qdh+"','"+fhjh+"',sysdate,'"+userId+"','"+username+"','"+' '+"','"+' '+"',1,'"+' '+"')";             

猜你喜欢

转载自blog.csdn.net/Stubborn_bull/article/details/85839905