mybatis 动态sql 插入报错

1. 值为null必须制定jdbcType

    单条执行的话,可以考虑把值为null的字段去掉

2. 值的类型无法解析

    比如oracle.sql.TIMESTAMP类型,需转为java.sql.TIMESTAMP等

    附一个oracle.sql.TIMESTAMP转为java.sql.TIMESTAMP的方法

       /**
	 * @reference oracle.sql.Datum.timestampValue();
	 * @return
	 */
	private Timestamp getOracleTimestamp(Object value) {
		try {
			Class clz = value.getClass();
			Method m = clz.getMethod("timestampValue");
			//m = clz.getMethod("timeValue", null); 时间类型
			//m = clz.getMethod("dateValue", null); 日期类型
			return (Timestamp) m.invoke(value);

		} catch (Exception e) {
			return null;
		}
	}

 

posted @ 2018-03-07 10:35  八稚女  阅读(315)  评论(0编辑  收藏  举报