bootspring + mybaits +mysql Date 类型的处理

mysql 中有date 类型的属性,java实体类中对应的属性是java.sql.Date 类的。
bootspring + mybaits +mysql Date 类型的处理_第1张图片

最初的bug是怎么新增,joinDate 值都是null。

千辛万苦学会了用String转Date的两种方式:
1. @DateTimeFormat(pattern = "yyyy-MM-dd")标签
2. @InitBinder标签+一个函数

仍然是null
最后才发现问题在于:
bootspring + mybaits +mysql Date 类型的处理_第2张图片
set方法的名字写错了!应该是setJoinDate,写成了setAddDate

果然就不是null了!报了另一个错:
No converter found capable of converting from type [java.util.Date] to type [@org.springframework.format.annotation.DateTimeFormat java.sql.Date]]]

一看,原来java.util.Date 和 java.sql.Date 不是一个Date!!
那咋办呢

我想,既然是把前端传来的参数用setJoinDate()方法赋给student对象,那我把setJoinDate方法的参数类型由Date改成String,然后在参数内部把String转换成date,是不是就好了

说干就干,查到一个String转java.sql.Date 的办法如下:

String类型转java.sql.Date

最后的setJoinDate():
bootspring + mybaits +mysql Date 类型的处理_第3张图片

完成

你可能感兴趣的:(bootspring + mybaits +mysql Date 类型的处理)