zoukankan      html  css  js  c++  java
  • DateTimeTypeHandler

    mysql-timestimp-------model-DateTime(jodatime)

     1 public class DataTimeTypeHandler extends BaseTypeHandler<DateTime> {
     2     @Override
     3     public void setNonNullParameter(PreparedStatement ps, int i, DateTime parameter, JdbcType jdbcType) throws SQLException {
     4         ps.setTimestamp(i, new Timestamp(parameter.getMillis()));
     5     }
     6 
     7     @Override
     8     public DateTime getNullableResult(ResultSet rs, String columnName) throws SQLException {
     9         Timestamp timestamp = rs.getTimestamp(columnName);
    10         if (timestamp == null) {
    11             return DateTime.now();
    12         }
    13         return new DateTime(timestamp);
    14     }
    15 
    16     @Override
    17     public DateTime getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
    18         Timestamp timestamp = rs.getTimestamp(columnIndex);
    19         if (timestamp == null) {
    20             return DateTime.now();
    21         }
    22         return new DateTime(timestamp);
    23     }
    24 
    25     @Override
    26     public DateTime getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
    27         Timestamp timestamp = cs.getTimestamp(columnIndex);
    28         if (timestamp == null) {
    29             return DateTime.now();
    30         }
    31         return new DateTime(timestamp);
    32     }
    33 }
    <typeHandlers>
      handler="com.qunar.fresh.typehandler.DataTimeTypeHandler" javaType="org.joda.time.DateTime"/>
    </typeHandlers>

    这样在插入或是查找的时候不会出现null的情况。

    自己写typeHandler,其他类型转mysql字段类型也一样,在这里不一一细说。

  • 相关阅读:
    焦点
    class类名的管理
    querySelector选择器
    DOM动态添加表格
    Java父类强制转换子类原则
    Maven精选系列--classifier元素妙用
    Git分支管理
    Eclipse代替Oracle接管Java EE
    细数Intellij Idea10个蛋疼问题!
    Git仓库操作命令
  • 原文地址:https://www.cnblogs.com/lijia0511/p/5782348.html
Copyright © 2011-2022 走看看