ibatis操作oracle数据库时,如果出现空值,ibatis不是插入NULL,而是出现异常,郁闷。
如果你先插入空值,必须告诉IBatis当该字段出现NULL值该用什么值来替代,方法有2种,如下:
方法一(parameterClass):
1 INSERT INTO TEST(ID, NAME, PASSWD) VALUES (#id#,#name#, #passwd:VARCHAR:NULL#)
支持的类型在 java.sql.Types 中列示出来了
注意:DATA 类型默认不能为NULL
方法二(parameterMap):
1<parameterMap id="insert-person-paraMap" class="com.unmi.Person" >
2 <parameter property="id"/>
3 <parameter property="name"/>
4 <parameter property="passwd" jdbcType="VARCHAR"/>
5</parameterMap>
6
7<!-- 插入一条Person对应的记录到数据库中 -->
8<insert id="insertPerson" parameterMap="insert-person-paraMap">
9 INSERT INTO PERSON (ID, NAME, PASSWD) VALUES (?,?,?)
10</insert>
11