datetime mybatis localdatetime 映射
时间: 2023-12-19 18:30:36 浏览: 209
在Mybatis中,可以使用Java.sql.Date,Java.sql.Timestamp,java.util.Date来映射到数据库date,timestamp,datetime。但是这些类的许多方法都已经过时。Java8的API的LocalDate,LocalDateTime,LocalTime,现在比较常用。但是,Mybatis的版本(3.5.3)默认情况下是不支持Java8的日期、时间。因此,需要添加jackson-datatype-jsr310模块来支持Java8的日期、时间类型。具体步骤如下:
1.在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.12.4</version>
</dependency>
```
2.在Mybatis的配置文件中添加以下配置:
```xml
<configuration>
<typeHandlers>
<typeHandler handler="org.apache.ibatis.type.LocalDateTimeTypeHandler"/>
</typeHandlers>
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="helperDialect" value="mysql"/>
<property name="reasonable" value="true"/>
<property name="supportMethodsArguments" value="true"/>
<property name="params" value="count=countSql"/>
</plugin>
</plugins>
</configuration>
```
3.在实体类中使用LocalDateTime类型来映射数据库datetime类型:
```java
public class User {
private Long id;
private String name;
private LocalDateTime createTime;
// 省略getter和setter方法
}
```
4.在Mapper.xml文件中使用#{createTime, jdbcType=TIMESTAMP}来映射数据库datetime类型:
```xml
<insert id="insert" parameterType="User">
insert into user(name, create_time)
values(#{name}, #{createTime, jdbcType=TIMESTAMP})
</insert>
```
阅读全文