1.mybatis的sql语句输出,只要设置logger的日志级别为debug,然后如果是和spring整合,那么设置log4j.category.org.springframework=DEBUG,如果不是和spring整合,则设置log4j.logger.java.sql.PreparedStatement=DEBUG
2.mybatis的jdbcType设置须知:在insert的时候对于一些数据库中可以为空的值要指定jdbcType 。 对于时间类型,如果只记录年月日,jdbcType即可指定为Date。如果需要记录时分秒,则需要指定jdbcType为TIMESTAMP类型。
3.数字类型为空验证,一般varchar类型的验空写法为:<if test="goodName != null andgoodName!= ''" >,但是如果是数字类型,这种写法会有问题,例:<if test="goodQty != null andgoodQty!= ''" >,若此时goodQty=0,会被判断为空,不进if代码块。如果goodQty在oracle里是非空的,那就会报错了,CAN NOT BE NULL。
---------2014-12-17
4.Could not find parameter map java.util.Map,这是因为项目中某个mapper.xml文件里有parameterMap=“XXX”的配置。
5.如果sql中参数只有一个,可以直接指定参数类型parameterType="java.lang.String",sql内的参数名随意,不需要和方法里面的名称一致。