|
@@ -0,0 +1,44 @@
|
|
|
+package com.persagy.dc.mybatis.typehandler;
|
|
|
+
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
+import com.persagy.dc.common.lang.PsDateTime;
|
|
|
+import org.apache.ibatis.type.BaseTypeHandler;
|
|
|
+import org.apache.ibatis.type.JdbcType;
|
|
|
+import org.apache.ibatis.type.MappedJdbcTypes;
|
|
|
+import org.apache.ibatis.type.MappedTypes;
|
|
|
+
|
|
|
+import java.sql.*;
|
|
|
+import java.util.Date;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Mybatis日期时间全局处理
|
|
|
+ * @author Charlie Yu
|
|
|
+ * @version 1.0 2021-04-08
|
|
|
+ */
|
|
|
+@MappedJdbcTypes(JdbcType.TIMESTAMP)
|
|
|
+@MappedTypes(PsDateTime.class)
|
|
|
+public class PsDateTimeStampTypeHandler extends BaseTypeHandler<PsDateTime> {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void setNonNullParameter(PreparedStatement preparedStatement, int i, PsDateTime psDateTime, JdbcType jdbcType) throws SQLException {
|
|
|
+ preparedStatement.setTimestamp(i, new Timestamp(psDateTime.getMillis()));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PsDateTime getNullableResult(ResultSet resultSet, String s) throws SQLException {
|
|
|
+ Timestamp timestamp = resultSet.getTimestamp(s);
|
|
|
+ return PsDateTime.parsePsDateTime(timestamp);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PsDateTime getNullableResult(ResultSet resultSet, int i) throws SQLException {
|
|
|
+ Timestamp timestamp = resultSet.getTimestamp(i);
|
|
|
+ return PsDateTime.parsePsDateTime(timestamp);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PsDateTime getNullableResult(CallableStatement callableStatement, int i) throws SQLException {
|
|
|
+ Timestamp timestamp = callableStatement.getTimestamp(i);
|
|
|
+ return PsDateTime.parsePsDateTime(timestamp);
|
|
|
+ }
|
|
|
+}
|