问题场景:
数据库数据类型:
datetime HOUR TO SECOND -- 代表时分秒类型 hh:mm:ss,例如:10:58:13
在使用 PreparedStatement 进行set数据的时候执行结果为00:00:00
问题原因:
在setObject的时候,set的是一个时间字符串,南大通用不知道什么原因,没办法识别,执行转化为时间类型再进行set就可以了
代码操作是:
public void incrementPstmSetObject(PreparedStatement pstm, int index, Object object) {try {if (object == null) {pstm.setObject(index, object);} else {SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");try {Date parse = simpleDateFormat.parse(object.toString());long time = parse.getTime();Time time1 = new Time(time);pstm.setObject(index, time1);} catch (ParseException e) {pstm.setObject(index, object);}}} catch (SQLException e) {throw new DtsException("增量pstm.setObject异常,异常信息:" + ExceptionUtil.getStackTrace(e));}}