当前位置: 首页 > 知识库问答 >
问题:

使用mybatis的Java 8 LocalDate映射

桑璞
2023-03-14

我使用Java.time.LocalDate(Java8)来表示Java类中的一些成员字段。

class Test{
    private LocalDate startDate;
    private LocalDate endDate;
    //other fields
    
    //getters and setters 
}

我也在使用mybatis,与我的数据库交互。

 private Date startDate;
 private Date endDate;

这是因为mybatis目前没有“timestamp”(SQL Server)到java.time的映射吗?

我应该如何使用java.time.LocalDate来映射MyBatis?

共有1个答案

许嘉福
2023-03-14

看这里:https://github.com/mybatis/typehandlers-jsr310

如果您使用的是mybatis 3.4或更高版本,只需在类路径上添加此工件,mybatis将自动注册提供的类型处理程序。

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

如果使用的是旧版本,则需要手动注册类型处理程序。

<typeHandlers>
  <typeHandler handler="org.apache.ibatis.type.InstantTypeHandler" />
  <typeHandler handler="org.apache.ibatis.type.LocalDateTimeTypeHandler" />
  <typeHandler handler="org.apache.ibatis.type.LocalDateTypeHandler" />
  <typeHandler handler="org.apache.ibatis.type.LocalTimeTypeHandler" />
  <typeHandler handler="org.apache.ibatis.type.OffsetDateTimeTypeHandler" />
  <typeHandler handler="org.apache.ibatis.type.OffsetTimeTypeHandler" />
  <typeHandler handler="org.apache.ibatis.type.ZonedDateTimeTypeHandler" />
</typeHandlers>

从3.4.5开始,“JSR 310:Date and Time API”的类型处理程序已经合并到mybatis内核中(参见#974)

 类似资料:
  • 我的要求是存储所有日期 这是不是正确的 如果没有,我应该回到使用好的旧(或遗留?) 或者我应该使用Java 8的?如果使用,是否可以只存储日期部分而不存储时间? 数据库是MySQL

  • 我得到了,我不知道我的错误在哪里。 错误出现在函数中。代码是: 控制器。JAVA 应用上下文如下: 这里有一个错误: [11/07/14 11.19.33:848 CEST]000000 4F servlet电子商务。国际商用机器公司ws。网络容器。servlet。ServletWrapper服务SRVE0068E:在uno dei metodi di servlet dispatcher nel

  • 主要内容:XML实现映射器,注解实现映射器,MyBatis 映射器的主要元素映射器是 MyBatis 中最重要的文件,文件中包含一组 SQL 语句(例如查询、添加、删除、修改),这些语句称为映射语句或映射 SQL 语句。 映射器由 Java 接口和 XML 文件(或注解)共同组成,它的作用如下。 定义参数类型 配置缓存 提供 SQL 语句和动态 SQL 定义查询结果和 POJO 的映射关系 映射器有以下两种实现方式。 通过 XML 文件方式实现,比如我们在 mybatis

  • 本文向大家介绍Mybatis中Mapper映射文件使用详解,包括了Mybatis中Mapper映射文件使用详解的使用技巧和注意事项,需要的朋友参考一下 紧接上文所述,在这篇文章中我将对Mapper映射文件进行详细的说明。 Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd。我们先大体上看看支持哪些配置?如下所示,从Eclipse里截了个

  • 在mapper中,我调用了一个proc'xyz',它返回所查询的ProcessType表的行列表的光标。

  • 本文向大家介绍Java的MyBatis框架中XML映射缓存的使用教程,包括了Java的MyBatis框架中XML映射缓存的使用教程的使用技巧和注意事项,需要的朋友参考一下 MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地配置和定制。默认情况下是没有开启缓存的,要开启二级缓存,你需要在你的SQL映射文件中添加一行: 字面上看就是这样。这个简单语句的效果如下: 1.映射语句文件中的所有s