目录

ssm,前端时间传到java后端并存入mysql数据库

ssm,前端时间传到java后端并存入mysql数据库

我这里以日期为例,yyyy-mm-dd。

首先定义实体

import java.util.Date;

    private Date birthday;

这里使用 util 的 Date。

前端传 String 的 yyyy-mm-dd,需要用 js 转码,很复杂。

所以使用 ssm 自带注解:@DateTimeFormat(pattern = “yyyy-MM-dd”)

在传入控制器时,会自动把字符串转换成 Date。

接下来的问题是怎么传入 mysql。

我这里 mysql 的格式是 date,关于 date,datetime,timestamp 的差别我就不讲了,用 util 的 Date 不能直接传入 mysql,需要将 date 转换成 sql.Date.

sql.Date 对应的是 mysql 的 date。

但是我们实体不能直接用 sql 的 Date,这样会使注解失效,所以我们做一个转换。

sql.Date 是 util.Date 的子类,转换方法为:

 java.sql.Date sql_birthday = new java.sql.Date( new java.util.Date().getTime());

所以我们只需把实体的 date 对象执行 gettime 方法构造 sqldate 传入 mybatis 进行增删改查就可以了。

如果是 yyyy-mm-dd HH:mm:ss 这种时间格式呢

仍然使用注解 @DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)

这种时间格式在 mysql 里是 datetime,sql.Date 不支持这种格式,util.date 又不能直接传入数据库,

所以使用 Timestamp 来传入数据库。

Timestamp time = new Timestamp(new java.util.Date().getTime());