MyBatis 插入空值时,需要指定JdbcType
mybatis insert空值报空值异常,但是在pl/sql不会提示错误,主要原因是mybatis无法进行转换
<insert id="insertInstrument" parameterType="com.labway.oa.po.Instruments">
insert into
instruments
(group_name,
name,
description,
on_line,
operator,
x_sbxh,
serial_no,
x_lc,
x_sbjd,
vendor,
<!-- x_sbsx, -->
location,
changed_on,
changed_by,
removed,
low_threshold,
high_threshold,
stability_delta,
stability_number,
port_number,
discard_time,
size_limit,
time_out,
polling_time,
needs_calibration,
needs_pm,
holds_samples,
include_subdirs,
debug,
store_in_db_file,
db_file_prompt,
x_jlsx,
x_funcheck_status,
x_timecheck_status,
x_name,
x_description,
x_funcheck_date,
x_timecheck_date,
pm_date,
x_pm_status,
x_status,
x_group_name
) values(
#{group_name,jdbcType=VARCHAR},
#{name,jdbcType=VARCHAR},
#{description,jdbcType=VARCHAR},
#{on_line,jdbcType=VARCHAR},
#{operator,jdbcType=VARCHAR},
#{x_sbxh,jdbcType=VARCHAR},
#{serial_no,jdbcType=VARCHAR},
#{x_lc,jdbcType=VARCHAR},
#{x_sbjd,jdbcType=VARCHAR},
#{vendor,jdbcType=VARCHAR},
<!-- #{x_sbsx}, -->
#{location,jdbcType=VARCHAR},
#{changed_on,javaType=String,jdbcType=DATE,typeHandler=com.labway.portal.handler.LwDateTypeHandler},
#{changed_by,jdbcType=VARCHAR},
'F',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'F',
'F',
'F',
'F',
'F',
'F',
'F',
'T',
'F',
'F',
#{name,jdbcType=VARCHAR},
#{description,jdbcType=VARCHAR},
#{x_funcheck_date,javaType=String,jdbcType=DATE,typeHandler=com.labway.portal.handler.LwDateTypeHandler},
#{x_timecheck_date,javaType=String,jdbcType=DATE,typeHandler=com.labway.portal.handler.LwDateTypeHandler},
#{pm_date,javaType=String,jdbcType=DATE,typeHandler=com.labway.portal.handler.LwDateTypeHandler},
#{x_pm_status,jdbcType=VARCHAR},
#{x_status,jdbcType=VARCHAR},
#{x_group_name,jdbcType=VARCHAR}
)
</insert>
转载于:https://blog.51cto.com/houqida/1584685