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

如题所述

JDBC环境下

如果使用的是PreparedStatement接口:

1.String sql = "insert into 表名(date类型的列) values(?)";

2.PreparedStatement stmt = con.prepareStatement(sql);

3.stmt.setDate(1, date对象);

4.stmt.executeUpdate();

如果使用的是Statement接口:

1.java.text.SimpleDateFormat fmt1 = new java.text.SimpleDateFormat("yyyy-MM-dd");  // mssql、mysql格式

2.java.text.SimpleDateFormat fmt2 = new java.text.SimpleDateFormat("dd-MM月-yyyy");  // oracle格式

3.String sql = String.format("insert into 表名(date类型的列) values('%s')", fmt1.format(date对象));

4.Statement stmt = con.createStatement();

5.stmt.executeUpdate(sql);

1:System.currentTimeMillis() 返回long类型 可以强制转换成Date格式 .

2:SimpleDateFormat.format()返回的是 String类型,可以得到我上述的时间格式,但是是String类型。 

3:SimpleDateFormat.parse()返回的是Date类型,该方法试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串,试过后发现,解析后的值是“格林威治时间格式“,即我当初设想的思路应该不能实现,转而改变策略,以任意格式把时间变成Date格式插入数据库中,提取的时候再做变换即可。

4:查询中发现java.util.Date 和 java.sql.Date存在一些区别,util.date用Date date = new Date(),util可以活动值,sql包必须给参数。

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-03-13
JDBC环境下
如果使用的是PreparedStatement接口:
String sql = "insert into 表名(date类型的列) values(?)";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setDate(1, date对象);
stmt.executeUpdate();

如果使用的是Statement接口:
java.text.SimpleDateFormat fmt1 = new java.text.SimpleDateFormat("yyyy-MM-dd"); // mssql、mysql格式
java.text.SimpleDateFormat fmt2 = new java.text.SimpleDateFormat("dd-MM月-yyyy"); // oracle格式

String sql = String.format("insert into 表名(date类型的列) values('%s')", fmt1.format(date对象));
Statement stmt = con.createStatement();
stmt.executeUpdate(sql);

使用Hibernate和mybaits的确就不用关心类型转换问题了~

怎么用java 写入 date类型的数据到数据库中?
首先数据库中要有定义为date的字段,然后在代码中获取一个时间类型的数据,如果是要用String类型的转换为date类型的话,用Date.valueOf("")转换再插入(是java.sql.Date中的方法)

求助!!如何在java代码中,将日期插入mysql数据库(对应字段类型是datetime...
java.sql.Timestamp date1=new java.sql.Timestamp(date.getTime());\/\/把java.util.Date类型转换为java.sql.Timestamp类型 最后用setTimestamp();方法就可以插入到mysql数据库中了

java如何将日期和时间同时存入数据库
如果要将1900-1-1 16:36:44存入数据库中(即上面的Datetime字段),可以通过转换生成对应的Date数据就行。插入数据库的数据必须是java.sql.Date类型的日期,所以你可以通过类似你上面的处理将字符串转成java.sql.Date类型的日期再存入数据库就成。下面给你一个将字符串1900-1-1 16:36:44改变成一个...

怎样在Java中将日期转化插入到数据库
Java中将日期转化插入到数据库:public static Date dateTimeString2Date(String date_str) { try { Calendar cal = Calendar.getInstance(); java.sql.Timestamp timestampnow = new java.sql.Timestamp(cal.getTimeInMillis()); SimpleDateFormat formatter = new SimpleDateFormat("yyyy...

java 怎样获取java.sql.date 类型年月日并插入到数据库date类型中
字段updateTime为Date类型,那么如果只要精确到年月日,那么就使用trunc(updateTime)即可,其他还有:trunc[截断到最接近的日期,单位为天] ,返回的是日期类型 select sysdate S1,trunc(sysdate) S2, \/\/返回当前日期,无时分秒 trunc(sysdate,'year') YEAR, \/\/返回当前年的1月1日,无时分秒 trun...

(转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方...
案例说明);部分资料参考网络资源1. java向MySQL插入当前时间的四种方式第一种:将java.util.Date类型的时间转成mysql数据库识别的java.sql.Date类型时间注:java.util.Date是java.sql.Date的父类Date time= new java.sql.Date(newjava.util.Date().getTime());...

java怎么获取当前系统时间并写进mysql数据库,如下:获取得到的时间跟系...
new Date()是系统时间,Date()分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。它的实际代码是:public Date(){ this(System.currentTimeMillis()); \/\/可以看出他也是调用的Date(long date)构造函数,传入的参数是System.currentTimeMillis()),从1970..到现在的毫秒数 } new ...

java 怎样获取java.sql.date 类型年月日并插入到数据库date类型中
你在new date()的时候需要导入包,这个包就选java.sql.date就行了,至于插入数据库,一般mysql可以直接插入不需要转换,oracle可能需要转换下,如to_date这样的函数就可以了

java用jdbc如何将string类型转换成date类型插入到mysql数
在Java中使用JDBC将String类型转换为Date类型插入至MySQL数据库时,推荐安全做法是使用prepareStatement。首先,将String通过SimpleDateFormat转换为java.util.Date。随后,使用ps的setDate方法将转换后的Date对象插入数据库,确保参数安全。直接使用Statement进行拼接字符串操作存在参数不安全或转换失败的风险,这不...

java将文本框中时间插入数据库
可以用SimpleFormatDate把时间format成Date,然后用stmt.setDate(1,date)。这样就万事ok了。

相似回答