New file |
| | |
| | | package com.hx.mybatis.date.handler; |
| | | |
| | | 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.time.LocalDateTime; |
| | | |
| | | /** |
| | | * @author CJH |
| | | * @Date 2021-01-02 |
| | | * // @MappedTypes注解中的类代表此转换器可以自动转换为的java对象,@MappedJdbcTypes注解中设置的是对应的jdbctype,mysql的json对象对应的jdbctype为VARCHAR。 |
| | | */ |
| | | @MappedTypes(value = {LocalDateTime.class}) |
| | | @MappedJdbcTypes(value = {JdbcType.TIMESTAMP}, includeNullJdbcType = true) |
| | | public class GenericDateHandler extends BaseTypeHandler<Timestamp> { |
| | | |
| | | public GenericDateHandler() { |
| | | } |
| | | |
| | | public void setNonNullParameter(PreparedStatement ps, int i, Timestamp parameter, JdbcType jdbcType) throws SQLException { |
| | | ps.setTimestamp(i, parameter); |
| | | } |
| | | |
| | | public Timestamp getNullableResult(ResultSet rs, String columnName) throws SQLException { |
| | | return rs.getTimestamp(columnName); |
| | | } |
| | | |
| | | public Timestamp getNullableResult(ResultSet rs, int columnIndex) throws SQLException { |
| | | return rs.getTimestamp(columnIndex); |
| | | } |
| | | |
| | | public Timestamp getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { |
| | | return cs.getTimestamp(columnIndex); |
| | | } |
| | | } |