/** * */ package jframe.pay.domain.dao.mapper; import java.sql.CallableStatement; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.util.Date; import org.apache.ibatis.type.BaseTypeHandler; import org.apache.ibatis.type.JdbcType; /** * @author dzh * @date Jul 20, 2015 3:00:03 PM * @since 1.0 */ public class SqlTimestampTypeHandler extends BaseTypeHandler<Long> { /* * (non-Javadoc) * * @see org.apache.ibatis.type.BaseTypeHandler#setNonNullParameter(java.sql. * PreparedStatement, int, java.lang.Object, * org.apache.ibatis.type.JdbcType) */ @Override public void setNonNullParameter(PreparedStatement ps, int i, Long parameter, JdbcType jdbcType) throws SQLException { if (parameter == 0L) parameter = new Date().getTime(); ps.setTimestamp(i, new java.sql.Timestamp(parameter)); } /* * (non-Javadoc) * * @see * org.apache.ibatis.type.BaseTypeHandler#getNullableResult(java.sql.ResultSet * , java.lang.String) */ @Override public Long getNullableResult(ResultSet rs, String columnName) throws SQLException { Timestamp t = rs.getTimestamp(columnName); return t == null ? null : t.getTime(); } /* * (non-Javadoc) * * @see * org.apache.ibatis.type.BaseTypeHandler#getNullableResult(java.sql.ResultSet * , int) */ @Override public Long getNullableResult(ResultSet rs, int columnIndex) throws SQLException { Timestamp t = rs.getTimestamp(columnIndex); return t == null ? null : t.getTime(); } /* * (non-Javadoc) * * @see org.apache.ibatis.type.BaseTypeHandler#getNullableResult(java.sql. * CallableStatement, int) */ @Override public Long getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { Timestamp t = cs.getTimestamp(columnIndex); return t == null ? null : t.getTime(); } }