您的位置:首页 > 编程语言 > Java开发

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

2015-12-26 21:24 831 查看
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日期格式转化先说到这里。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: