ibatis nullvalue 探究

在我们配置resultMap中有的时候需要配置 nullValue

 

	<resultMap id="baby-Result" class="baby">
		<result property="id" column="id" jdbcType="Integer" javaType="integer" />
		<result property="name" column="name" jdbcType="VARCHAR" javaType="string" />
		<result property="birthday" column="birthday" jdbcType="DATE" javaType="date" />
		<result property="hobby" column="hobby" jdbcType="VARCHAR" javaType="string" />
		<result property="age"   column="age" jdbcType="INTEGER" javaType="int" nullValue="0"
/>
		<result property="address" select="getAddressById" column="id" />
	</resultMap>

 这是因为当JAVA类中的age为int型的话,如果数据库里查出来的值是空,那么ibatis将用java 反射机制将这个null 赋值给 age。

就会抛如下错误:

Caused by: java.lang.IllegalArgumentException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

 所以在使用的时候一定要注意如果JAVA类里面是原生类型的int,float,double等的话,那么就需要配置 nullValue  了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值