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

 我来答
感动一生gk
2018-01-10 · TA获得超过5.3万个赞
知道大有可为答主
回答量:79
采纳率:88%
帮助的人:5.4万
展开全部

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包必须给参数。

琳伊a5
2016-03-13 · TA获得超过7749个赞
知道大有可为答主
回答量:9153
采纳率:91%
帮助的人:8613万
展开全部
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的确就不用关心类型转换问题了~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式