LocalDateTimeMicrosecondTypeHandler
import org.apache.ibatis.type.BaseTypeHandler; import org.apache.ibatis.type.JdbcType; import java.sql.CallableStatement; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class LocalDateTimeMicrosecondTypeHandler extends BaseTypeHandler<LocalDateTime> { private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS"); @Override public void setNonNullParameter(PreparedStatement ps, int i, LocalDateTime parameter, JdbcType jdbcType) throws SQLException { ps.setString(i, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS").format(parameter)); } @Override public LocalDateTime getNullableResult(ResultSet rs, String columnName) throws SQLException { return parse(rs.getString(columnName)); } @Override public LocalDateTime getNullableResult(ResultSet rs, int columnIndex) throws SQLException { return parse(rs.getString(columnIndex)); } @Override public LocalDateTime getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { return parse(cs.getString(columnIndex)); } private LocalDateTime parse(String dateTimeStr) { if (dateTimeStr == null) { return null; } return LocalDateTime.parse(dateTimeStr, formatter); } }
mybatis-plus: type-handlers: - com.auo.config.LocalDateTimeMicrosecondTypeHandler