2024年5月31日发(作者:)
localdate localtime mybatis参数
在 MyBatis 中,`LocalDate`和`LocalTime`类型没有直接的映射关系。你可以通过以
下方式解决这个问题:
- 在``文件中添加依赖,使 MyBatis 支持`LocalDate`和`LocalTime`类型:
```
```
- 在使用`LocalDate`或`LocalTime`参数的 Controller 方法上添加`@InitBinder`注
解,并在其中注册自定义的参数解析方式:
```java
@InitBinder
protected void initBinder(WebDataBinder binder) {
erCustomEditor(, new PropertyEditorSupport() {
@Override
public void setAsText(String text) throws IllegalArgumentException {
setValue((text, n4));
}
});
erCustomEditor(, new PropertyEditorSupport()
{
@Override
public void setAsText(String text) throws IllegalArgumentException {
setValue((text,
ern("yyyy-MM-dd")));
}
});
erCustomEditor(, new PropertyEditorSupport()
{
@Override
public void setAsText(String text) throws IllegalArgumentException {
setValue((text,
ern("HH:mm:ss")));
}
});
}
```
- 创建与 MyBatis 包路
类
径
,
相
并
同
实
的
现`ateTimeTypeHandler`
`TypeHandler
```java
package ;
import .*;
import t;
import ateTime;
import fset;
import meFormatter;
/**
* LocalDateTimeTypeHandler 类,用于处理 LocalDateTime 类型的参数
*/
public class LocalDateTimeTypeHandler implements TypeHandler
private final DateTimeFormatter dateTimeFormatter =
ern("yyyy-MM-dd HH:mm:ss");
/**
* 将 LocalDateTime 参数设置到 PreparedStatement 中


发布评论