Mybatis中使用JDK8的日期API的配置

本文介绍了在Mybatis中如何使用JDK8的日期API,由于Mybatis在3.4.0版本后才开始支持JSR-310,因此需要在pom.xml添加依赖来实现LocalDate等类型的映射。通过示例展示了创建表结构、对应实体以及执行过程,同时提醒注意Mybatis版本要求至少为3.4.5,以避免额外配置。
摘要由CSDN通过智能技术生成

概述

在使用Mybatis这种半自动化的框架中,我们都知道,实体Entity的属性与数据库中表的字段存在着一种映射关系,我们以MySql举例,比如表中varchar与java中String的映射,date与java.sql.Date,time与java.sql.Time,datetime与java.util.Date等之间的这种映射关系。而在JDK8中,目前是没有直接提供与LocalDate这种相关联的映射的。如果直接使用,会提示类似错误:

No typehandler found for property create
不过,Mybatis也提供了一个间接的方式来实现这种转换。
也就是说,我们直接在pom.xml中添加以下依赖就可以完成相应的转换:

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis-typehandlers-jsr310</artifactId>
  <version>1.0.2</version>
</dependency>

实例

再多说一点,Mysql中与日期时间相关的类型有如下5种:time, date, datetime, timestamp, year,所以我们基于这几种类型进行如下两个简单的例子:

、新建表结构:
在这里插入图片描述
在这里插入图片描述

2、对应的实体:Student(JDK8之前),Student2(JDK8之后),注意其中的参数类型;

import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;

/**
 * Student实体
 *
 * @author zhangwugui
 * @since 2018/1/24 17:22
 */
public class Student {
   
    private Integer id;
    private String name;
    private Integer age;
    private Date create;
    private java.util.Date update;
    private Time modify;
    private Timestamp stamp;
    private Integer year;
    
    // get, set方法省略

    @Override
    public String toString() {
   
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值