时间:2021-05-19
使用mybatis查询(mysql)时,会使用多个double字段做相加,但是呢,其中几个字段有可能是null,会抛空指针。
自动生成的mybatis mapper文件长这样
<sql id="Base_Column_List"> ID, PREPAYMENT_FEE </sql>修改它
<sql id="Base_Column_List"> ID, ifnull(PREPAYMENT_FEE,0) as PREPAYMENT_FEE </sql>补充:mybatis中0和null关系处理
最近在项目开发中,mybatis遇到一个很奇怪的问题,因为想在后台传一个int型0插入到数据,却被识别成了null。
后面,排除问题时,查到mybatis源码对其进行了强制定义。
所以解决问题可以改造mybatis源码,或者简单的做以下处理:
<insert id="insertDemo" parameterType="java.util.Map">INSERT INTO TABLE<trim prefix="(" suffix=")" suffixOverrides=","> <if test="importRow != null and importRow != '' or importRow ==0 "> IMPORT_ROW,</if></trim><trim prefix="values (" suffix=")" suffixOverrides=","> <if test="importRow != null and importRow != '' or importRow ==0 "> #{importRow}, </if></trim></insert>增强判断添加 or importRow ==0
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
sql语句条件查询时,有时会判断某个字段是否为空。 字段内容为空有两种情况 1.为null 2.为字符串的空'' 语句如下: select*fro
NOTNULL|NULL:指定该列是否允许为空。如果既不指定NULL也不指定NOTNULL,列被认为指定了NULL在MySQL中,为一个NOTNULL字段设置N
字段类型为tinyint(1)的返回类型设置为integer现象描述:数据库表字段类型为:tinyint长度为1,即类型为:tinyint(1)查询时,该字段对
假设有一数据表的状态字段设计为varchar类型,有以下值:NULL,pending,pendingrefund,refund,cancel.我们知道查询状态为
判断变量是否为NULL: IF(@VaribleNameISNULL) 选择字段值为NULL的记录: WHERECOLUMN_NAMEISNULL