mybatis 插入null 时需要指定jdbcType

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>
时间: 2024-10-14 10:24:13

mybatis 插入null 时需要指定jdbcType的相关文章

Mybatis 插入null值报错

解决方法: 1.在settings中配置 <setting name="jdbcTypeForNull" value="OTHER"/> MyBatis-config.xml 中 set 的说明 []: 表示 可能的不太正确 <!-- 配置设置 --> <settings> <!-- 配置全局性 cache 的 ( 开 / 关) default:true --> <setting name="cache

Mybatis 插入操作时获取主键 (Oracle 触发器与SEQ)

1.通过Oracle序列 -- Create sequence create sequence SEQ_DW_EWSYSTEM minvalue 1 maxvalue 999999999999999999999999999 start with 1 increment by 1 cache 20; <insert id="insertEwsystem" parameterType="Ewsystem"> <selectKey keyProperty

mybatis插入操作时,返回自增主键id

mapper.xml 代码 <insert id="insert" parameterType="com.Student" > <selectKey keyProperty="id" resultType="long" order="AFTER"> select last_insert_id(); </selectKey> insert into student(id,,

MyBatis框架——mybatis插入数据返回主键(mysql、oracle)

向数据库中插入数据时,大多数情况都会使用自增列或者UUID做为主键.主键的值都是插入之前无法知道的,但很多情况下我们在插入数据后需要使用刚刚插入数据的主键,比如向两张关联表A.B中插入数据(A的主键是B的外键),向A表中插入数据之后,向B表中插入数据时需要用到A的主键. 比如添加一个用户,同时返回插入用户后得到的用户id: /** * 添加用户信息 * @param user * @throws Exception */ public int insertUser(User user) thro

Mybatis:使用bean传值,当传入值为Null时,提示“无效的列类型”的解决办法

问题描述: 在使用mybatis对数据库执行更新操作时,parameterType为某个具体的bean,而bean中传入的参数为null时,抛出异常如下: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='pxh',

MyBatis 插入时返回刚插入记录的主键值

MyBatis 插入时返回刚插入记录的主键值 一.要求: 1.数据库表中的主键是自增长的,如:id: 2.获取刚刚插入的记录的id值: 二.源代码: 1.User.java 1 package cn.com.zfc.model; 2 3 public class User { 4 5 private Integer id; 6 private String name; 7 private String password; 8 9 public Integer getId() { 10 retur

Mybatis 插入insert操作时获取主键

转载于 http://blog.csdn.net/lklinkang/article/details/6185927 插入操作 对于自增主键的表,插入可以不配置插入的主键列.否则是必须的. 获取主键      插入语句之前配置:主要是针对Sequence主键而言,插入前必须指定一个主键值给要插入的记录.Oracle.DB2亦如此,方法是在插入语句标签<insert....>之前配置上: <insert id="AltName.insert" parameterType

ibatis插入操作时,允许为null的字段必须设置字段对应的类型

执行插入操作时遇到异常: --- Cause: java.sql.SQLException : 无效的列类型 <insert id="saveAccCheckRecord" parameterClass="AccCheck" > <selectKey resultClass="Long" keyProperty="id" > SELECT SEQ_INFO_AD_CN_RD_CK_ID.NEXTVAL

MyBatis在insert插入操作时返回主键ID的配置

转:http://www.cnblogs.com/icerainsoft/p/4648900.html 很多时候,在向数据库插入数据时,需要保留插入数据的id,以便进行后续的update操作或者将id存入其他表作为外键. 但是,在默认情况下,insert操作返回的是一个int值,并且不是表示主键id,而是表示当前SQL语句影响的行数... 接下来,我们看看MyBatis如何在使用MySQL和Oracle做insert插入操作时将返回的id绑定到对象中. MySQL用法: <insert id=&qu