怎么样将java中的date类型插入到mysql的datetime

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么样将java中的date类型插入到mysql的datetime相关的知识,希望对你有一定的参考价值。

测试类里怎么插,jsp怎么插(最好有源码,谢谢!)

mysql的datetime格式很松散,加入是2012-02-02 存进去的格式是20120202,你把它转换成string也可以插入,成date也可以。 参考技术A 将Date类型的值通过SimpleDateFormat类转换成"yyyy-MM-dd HH:mm:ss"这样的字符串就可以了追问

可以说的再具体点吗

追答

举个例子,表table里有个字段abc是datetime类型的,SQL语句可以这样构造:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = new Date();
String abcValue = sdf.format(now);
String sql = "update table set abc='"+abcValue+"' where ......";
再执行SQL就OK了

本回答被提问者采纳

在java中如何将日期字符串保存到Oracle数据库中对应的Date类型字段中

前言

我们知道利用JDBC操作数据库时,插入SQL字段是个繁琐的过程,操作起来实际上并不是很复杂,但是在java中总有些字段类型与SQL中的字段类型不匹配,直接导致很烦!!!本文着重讲解如何将日期字符串插入到Orale中对应的Date类型字段中

注意

Oracle中的Date字段

ResultSet.getDate()

PreparedStatement.setDate()

都是java.sql.Date类型的,所以我们无论怎样转化,最终目标都是要将字符串或者java.util.Date类型转化成java.sql.Date类型

1、首先将字符串转换成java.util.Date

  • 用户实体类
    package com.ebuy.pojo;
    
    import java.io.Serializable;
    import java.util.Date;
    
    public class User implements Serializable {
        private String userId;
        private String userName;
        private String password;
        private String sex;
        /**
         * 出生日期
         */
        private Date birthday;
        private String identityCode;
        private String email;
        private String mobile;
        private String address;
        private int status = 0;
        private String code;
        private int role;
    }
    
  • 我们首先要将我们手动输入的出生日期字符串,转换成java.util.Date类型
    //1 首先使用简化日期格式(规定日期包括时分秒的显示形式)
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	
    //输入的出生日期字符串的格式是 yyyy-MM-dd HH:mm:ss(要和SimpleDateFormat规范保持一致)
    String inputBirthday = "2000-02-03 12:12:24";
    	
    //此时已转换为java.util.Date类型
    Date string_To_util = sdf.parse(inputBirthday);
    System.out.println(string_To_util);	
    
  • 结果
    在这里插入图片描述
  • 将转换后的日期字符串存入User实体类对象中
    User user = new User();
    //将转换过的日期字符串存入User实体类对象中()
    user.setBirthday(string_To_util);
    

2、将java.util.Date 转为java.sql. Date

  • 这一步一般会用在执行SQL语句处
    //java.util.Date 转为java.sql. Date(getTime()获取日期的毫秒数)
    java.sql.Date sqlDate = new java.sql.Date(user.getBirthday().getTime());
    
    System.out.println("sqlDate= " + sqlDate);
    
  • 结果
    在这里插入图片描述

3、真实场景

  • 添加或注册用户的界面
    在这里插入图片描述
  • UserServlet接收表单参数(出生日期)
    在这里插入图片描述
  • 数据访问层实现类中(执行SQL语句处)
    在这里插入图片描述

    到这就成功将一个手动从前端页面输入的日期字符串保存到Oracle数据库中了。

4、如果觉得麻烦,还有一个简单粗暴的方法

  • Oracle内置的方法to_date

    可将字符串直接转化成java.sql.Date类型,而且转换过的日期可以直接进行比大小
    select to_date(‘2004-05-07 13:23:44’,‘yyyy-mm-dd hh24:mi:ss’) from dual

  • 直接将实体类中的出生日期字段设置为String类型
    	package com.ebuy.pojo;
    	
    	import java.io.Serializable;
    	import java.util.Date;
    
    	public class User implements Serializable {
    	    private String userId;
    	    private String userName;
    	    private String password;
    	    private String sex;
    	    /**
    	     * 出生日期(设置为String类型)
    	     */
    	    private String birthday;
    	    private String identityCode;
    	    private String email;
    	    private String mobile;
    	    private String address;
    	    private int status = 0;
    	    private String code;
    	    private int role;
    	}
    
  • UserServlet层直接接收前端表单页面的的eu_birthday参数即可,无需进行java.util.Date的转换
  • 在数据访问层接口实现类出利用to_date(String_value,format_value)直接将字符串转换成java.sql.Date类型(但是要保证前端输入的日期字符串格式个to_date()的规范格式一致)
    在这里插入图片描述

完事!!!

但是不建议使用!!!

以上是关于怎么样将java中的date类型插入到mysql的datetime的主要内容,如果未能解决你的问题,请参考以下文章

如何向mysql数据库中插入日期

java怎么使用日期格式化将时间插入mysql datetime数据类型中?

java date类型 怎么 插入 时间 到 数据库

java如何获取当前时间插入数据库?

mysql中时间dateTime怎么插入?

mysql中时间dateTime怎么插入?