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字段类型也一样,在这里不一一细说。

  • 相关阅读:
    nVelocity .NET的模板引擎(template engine) 转载
    NewWords/700800
    美剧字幕杀手之王第1季 第1集
    美剧字幕傲骨贤妻第1季 第1集
    NewWords/9001000
    示例代码控制设备背景代码
    算法把图像压缩成指定大小的代码
    获取和设置 iphone 屏幕亮度
    美剧字幕傲骨贤妻第1季 第2集
    NewWords/600700
  • 原文地址:https://www.cnblogs.com/lijia0511/p/5782348.html
Copyright © 2011-2022 走看看