我正在使用java.time.LocalDate(Java 8)表示Java类中的某些成员字段。
class Test{
private LocalDate startDate;
private LocalDate endDate;
//other fields
//getters and setters
}
我还使用mybatis与我的数据库进行交互。
从数据库检索某些数据时,所有其他字段都将正确填充,但startDate和endDate字段最终将为null。
但是,如果我使用java.util.Date,例如
private Date startDate;
private Date endDate;
当我将它们声明为java.util.Date时,可以在这两个字段(startDate和endDate)中检索到正确的值。
是因为mybatis当前没有将’Timestamp’(SQL Server)映射到java.time吗?
我应该如何使用java.time.LocalDate映射MyBatis?
请在这里查看:http
:
//mybatis.github.io/mybatis-3/configuration.html#typeHandlers
要使用LocalDate和Timestamp,您必须编写一个自定义typeHandler,如下所示:
// ExampleTypeHandler.java
@MappedTypes(LocalDate.class)
public class LocalDateTypeHandler extends BaseTypeHandler<LocalDate> {
//implement all methods
}
像这样配置config.xml:
<!-- mybatis-config.xml -->
<typeHandlers>
<typeHandler handler="your.package.LocalDateTypeHandler"/>
</typeHandlers>
应该会有所帮助。
主要内容:XML实现映射器,注解实现映射器,MyBatis 映射器的主要元素映射器是 MyBatis 中最重要的文件,文件中包含一组 SQL 语句(例如查询、添加、删除、修改),这些语句称为映射语句或映射 SQL 语句。 映射器由 Java 接口和 XML 文件(或注解)共同组成,它的作用如下。 定义参数类型 配置缓存 提供 SQL 语句和动态 SQL 定义查询结果和 POJO 的映射关系 映射器有以下两种实现方式。 通过 XML 文件方式实现,比如我们在 mybatis
在mapper中,我调用了一个proc'xyz',它返回所查询的ProcessType表的行列表的光标。
我的要求是存储所有日期 这是不是正确的 如果没有,我应该回到使用好的旧(或遗留?) 或者我应该使用Java 8的?如果使用,是否可以只存储日期部分而不存储时间? 数据库是MySQL
本文向大家介绍MyBatis 引入映射器的方法,包括了MyBatis 引入映射器的方法的使用技巧和注意事项,需要的朋友参考一下 mybatis引入映射器分为三种方式 1. 文件路径引入映射器 用包名引入映射器 用类注册引入映射器 用userMapper引入映射器 总结 以上所述是小编给大家介绍的MyBatis 引入映射器的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的
我对使用mybatis作为ORM工具相当满意。但是我不能理解MyBatis中参数映射是如何工作的。 假设我定义了一个mybatis映射器接口,该接口有一个获取用户详细信息的方法。 我定义了我的类,其中包含select。
我使用Java.time.LocalDate(Java8)来表示Java类中的一些成员字段。 我也在使用mybatis,与我的数据库交互。 这是因为mybatis目前没有“timestamp”(SQL Server)到java.time的映射吗? 我应该如何使用java.time.LocalDate来映射MyBatis?