MySQL默认的数据类型格式是:yyyy-MM-dd,如:2015-12-30
如下图:
因此我们在往MySQL数据库中插入数据时,需要先进行格式化。在java中,我们通常这样格式化日期:
//生成日期对象
Date current_date = new Date();
//设置日期格式化样式为:yyyy-MM-dd
SimpleDateFormat SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
//格式化当前日期
SimpleDateFormat.format(current_date.getTime());
//输出测试一下
System.out.println("当前的系统日期为:" + SimpleDateFormat.format(current_date.getTime()));
运行结果:
OK,只要把日期格式转化成 yyyy-MM-dd ,就可以顺利插入到MySQL数据库了。
我用的是SpringMVC+MySQL,下面是controller层和dao层的关键代码:
controller层:
//新生成一个实体对象,把需要插入数据库的数据封装起来
Picture_of_user picture_of_user = new Picture_of_user();
//生成日期对象
Date current_date = new Date();
//设置日期格式化样式为:yyyy-MM-dd
SimpleDateFormat SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
//格式化当前日期
SimpleDateFormat.format(current_date.getTime());
//输出测试一下
System.out.println("当前的系统日期为:" + SimpleDateFormat.format(current_date.getTime()));
picture_of_user.setPicture_name(file.getOriginalFilename());
picture_of_user.setPicture_size((int) file.getSize());
picture_of_user.setUpload_date(SimpleDateFormat.format(current_date.getTime()));
picture_of_user.setPicture_type(file.getContentType());
picture_of_user.setUsername("admin");
//测试输出
System.out.println(SimpleDateFormat.format(current_date.getTime()));
System.out.println("picture_of_user.getPicture_name():" + picture_of_user.getPicture_name());
System.out.println("picture_of_user.getPicture_size():" + picture_of_user.getPicture_size());
System.out.println("picture_of_user.getUpload_date():" + picture_of_user.getUpload_date());
System.out.println("picture_of_user.getPicture_type():" + picture_of_user.getPicture_type());
System.out.println("picture_of_user.getUsername():" + picture_of_user.getUsername());
//调用D层实现类方法,把数据保存到数据库
fileUpload_1_0_Dao.saveUploadPicture(picture_of_user);
dao层关键代码:
@Override
public boolean saveUploadPicture(Picture_of_user picture_of_user) {
//定义一个Boolean类型的flag,用来表示查询状态
boolean flag = false;
sql = "insert into picture_of_user(id,picture_name,picture_size,upload_date,picture_type,username) " +
"values(?,?,?,?,?,?);";
int i = this.getJdbcTemplate().update(sql, new Object[]{
null,
picture_of_user.getPicture_name(),
picture_of_user.getPicture_size(),
picture_of_user.getUpload_date(),
picture_of_user.getPicture_type(),
picture_of_user.getUsername()
});
//如果插入操作执行成功,则flag=true;否则flag=flase
if(i > 0){
//测试输出
System.out.println("i = " + i);
flag = true;
}
else{
//测试输出
System.out.println("i = " + i);
flag = false;
}
return flag;
}
关于java日期格式转化先说到这里。