Java向MySQL数据库插入时间类型Date数据时需要注意的问题

MySQL默认的数据类型格式是:yyyy-MM-dd,如:2015-12-30


如下图:



因此我们在往MySQL数据库中插入数据时,需要先进行格式化。在java中,我们通常这样格式化日期:

  1. //生成日期对象  
  2. Date current_date = new Date();  
  3. //设置日期格式化样式为:yyyy-MM-dd  
  4. SimpleDateFormat  SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");  
  5. //格式化当前日期  
  6. SimpleDateFormat.format(current_date.getTime());  
  7. //输出测试一下  
  8. System.out.println("当前的系统日期为:" + SimpleDateFormat.format(current_date.getTime()));  


运行结果:


OK,只要把日期格式转化成 yyyy-MM-dd ,就可以顺利插入到MySQL数据库了。


我用的是SpringMVC+MySQL,下面是controller层和dao层的关键代码:


controller层:

  1.         //新生成一个实体对象,把需要插入数据库的数据封装起来  
  2.         Picture_of_user picture_of_user = new Picture_of_user();  
  3.         //生成日期对象  
  4.         Date current_date = new Date();  
  5.         //设置日期格式化样式为:yyyy-MM-dd  
  6.         SimpleDateFormat  SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");  
  7.         //格式化当前日期  
  8.         SimpleDateFormat.format(current_date.getTime());  
  9.         //输出测试一下  
  10.         System.out.println("当前的系统日期为:" + SimpleDateFormat.format(current_date.getTime()));  
  11.           
  12.         picture_of_user.setPicture_name(file.getOriginalFilename());  
  13.         picture_of_user.setPicture_size((int) file.getSize());  
  14.         picture_of_user.setUpload_date(SimpleDateFormat.format(current_date.getTime()));  
  15.         picture_of_user.setPicture_type(file.getContentType());  
  16.         picture_of_user.setUsername("admin");  
  17.           
  18.         //测试输出  
  19.         System.out.println(SimpleDateFormat.format(current_date.getTime()));  
  20.         System.out.println("picture_of_user.getPicture_name():" + picture_of_user.getPicture_name());  
  21.         System.out.println("picture_of_user.getPicture_size():" + picture_of_user.getPicture_size());  
  22.         System.out.println("picture_of_user.getUpload_date():" + picture_of_user.getUpload_date());  
  23.         System.out.println("picture_of_user.getPicture_type():" + picture_of_user.getPicture_type());  
  24.         System.out.println("picture_of_user.getUsername():" + picture_of_user.getUsername());  
  25.   
  26.             //调用D层实现类方法,把数据保存到数据库  
  27.             fileUpload_1_0_Dao.saveUploadPicture(picture_of_user);  

dao层关键代码:

  1. @Override  
  2. public boolean saveUploadPicture(Picture_of_user picture_of_user) {  
  3.     //定义一个Boolean类型的flag,用来表示查询状态  
  4.     boolean flag = false;  
  5.       
  6.     sql = "insert into picture_of_user(id,picture_name,picture_size,upload_date,picture_type,username) " +  
  7.             "values(?,?,?,?,?,?);";  
  8.       
  9.     int i = this.getJdbcTemplate().update(sql, new Object[]{  
  10.             null,  
  11.             picture_of_user.getPicture_name(),  
  12.             picture_of_user.getPicture_size(),  
  13.             picture_of_user.getUpload_date(),  
  14.             picture_of_user.getPicture_type(),  
  15.             picture_of_user.getUsername()  
  16.     });  
  17.     //如果插入操作执行成功,则flag=true;否则flag=flase  
  18.     if(i > 0){  
  19.         //测试输出  
  20.         System.out.println("i = " + i);  
  21.         flag = true;  
  22.     }  
  23.     else{  
  24.         //测试输出  
  25.         System.out.println("i = " + i);  
  26.         flag = false;  
  27.     }  
  28.     return flag;  
  29. }  

关于java日期格式转化先说到这里。


  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值