DateTimeTypeHandler
mysql-timestimp-------model-DateTime(jodatime)
public class DataTimeTypeHandler extends BaseTypeHandler<DateTime> {
@Override
public void setNonNullParameter(PreparedStatement ps, int i, DateTime parameter, JdbcType jdbcType) throws SQLException {
ps.setTimestamp(i, new Timestamp(parameter.getMillis()));
}
@Override
public DateTime getNullableResult(ResultSet rs, String columnName) throws SQLException {
Timestamp timestamp = rs.getTimestamp(columnName);
if (timestamp == null) {
return DateTime.now();
}
return new DateTime(timestamp);
}
@Override
public DateTime getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
Timestamp timestamp = rs.getTimestamp(columnIndex);
if (timestamp == null) {
return DateTime.now();
}
return new DateTime(timestamp);
}
@Override
public DateTime getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
Timestamp timestamp = cs.getTimestamp(columnIndex);
if (timestamp == null) {
return DateTime.now();
}
return new DateTime(timestamp);
}
}
<typeHandlers>
handler="com.qunar.fresh.typehandler.DataTimeTypeHandler" javaType="org.joda.time.DateTime"/>
</typeHandlers>
这样在插入或是查找的时候不会出现null的情况。
自己写typeHandler,其他类型转mysql字段类型也一样,在这里不一一细说。
DateTimeTypeHandler的更多相关文章
- MyBatis的类型自定义映射
背景 利用MyBatis将数据库的时间类型映射成Java8的时间类型,引申对不同类型的自定义映射 实现方法 1.实现MyBatis中TypeHandler接口 @MappedTypes(value = ...
- Mybatis Spring multiple databases Java configuration
https://stackoverflow.com/questions/18201075/mybatis-spring-multiple-databases-java-configuration ** ...
- [原创]Spring Boot + Mybatis 简易使用指南(二)多参数方法支持 与 Joda DateTime类型支持
前言 今天在开发练习项目时遇到两个mybatis使用问题 第一个问题是mapper方法参数问题,在参数大于一个时,mybatis不会自动识别参数命名 第二个问题是Pojo中使用Joda DateTim ...
- postgresql实现插入数据返回当前的主键ID
<insert id="addUser" parameterType="com.liupan.user"> <selectKey keyPro ...
- mybatis低版本jsr310(LocalDateTime,LocalDate等) Joda Time支持
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybati ...
随机推荐
- Struts提交form之后抛出异常java.lang.IllegalArgumentException: The path of an ForwardConfig cannot be null
原因:在ActionForm中使用了ActionErrors,并且ActionErrors中的内容不为空,所以Struts会根据action的配置跳转到input指定的页面.但是我在配置action的 ...
- linux学习笔记20--命令df和dh,fdisk
df和dh是用来查看磁盘空间使用情况的. linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命 ...
- CSRF学习笔记之CSRF的攻击与防御以及审计【00x2 】
Medium完整代码: <?php if (isset($_GET['Change'])) { // Checks the http referer header if ( eregi ( &q ...
- PHP——上传文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 使用inotify+rsync实现服务器间文件同步
1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到 ...
- idea传入HttpServletRequest时显示cannot resolve symbol的问题
在使用idea ide的时候,在控制器中我需要获取HttpServletRequest这个request对象,编译时出现cannot resolve symbol的问题,然后网上查找资料,这里记录一下 ...
- 从git中更新本地需要填写的正则
<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENA ...
- 8127 timeout!!! 搞死人啊
ti 81xx 系列的 timeout搞死人啊 种类繁多 坑爹啊!! 今天终于找出了8127的一种以个timeout bug情况,妹的这个问题坑了我将近两个月,xxxx,这里我想说下情况,有些地方可能 ...
- java拆装箱(转)
转载:http://www.cnblogs.com/dolphin0520/p/3780005.html 深入剖析Java中的装箱和拆箱 自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就 ...
- Asp.net中使用文本框的值动态生成控件的方法
这篇文章主要介绍了Asp.net中使用文本框的值动态生成控件的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 看到一个网友,有论坛上问及,动态的生成checkbox控件,在文本框中输入一个“花 ...