1. 程式人生 > >mybatis 動態sql 插入報錯

mybatis 動態sql 插入報錯

method div exce 必須 字段 timeval blog ora eval

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;
		}
	}

mybatis 動態sql 插入報錯