关于PreparedStatement的setDate的了解

今天写代码的时候需要往数据库里插入Date类型的时间,用到PreparedStatement的时候发现setDate()方法老是给我提示出错,结果一查,发现PreparedStatement的setDate()方法的第二个参数用的时间类型是java.sql.Date,所以当我用java.util.Date来设置时就错了。

  那对于java.sql.Date和java.util.Date之间应该如何转换呢?经过查资料可以这样转换:

  java.util.Date utilDate = new java.util.Date();

  java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

  转换后的sqlDate就可以设进PreparedStatement里面去了。然后就想到这样设进去的时间格式是怎样的呢?经过实验,得出结论是时间的格式是xxxx-xx-xx,如下图所示

  

时间: 2024-08-04 12:57:46

关于PreparedStatement的setDate的了解的相关文章

PreparedStatement的setDate方法如何设置日期

pstmt.setString(12, "to_char(sysdate,'YYYY-MM-DD HH24:MI:SS')");这样写不对,应该如何写 该方法用于将指定的参数设置为给定的java.sql.Date数组.此值被传送到数据库时,驱动程序会将它转换成一个SQL Date. 语法 setDate(int parameterIndex, Date x) parameterIndex:第一个参数是1,第二个参数是2,-- x:参数值. 示例 本示例定义了预处理语句,实现向users

java学习之JDBC

之前学习了数据库原理,上学期也学了oracle数据库,我的学习视频上是讲的mysql数据库,其实都差不多,复习了下sql知识,数据库的学习就没有写下来了,就从Java怎么操作数据库开始吧. 因为这年过完了,开始新的学习,有时间边学边写了.其实JDBC网上教程挺多的,我看视频学习的笔记都尽量写在代码里了.就直接上代码吧. package com.gh.jdbc; import java.sql.Connection; import java.sql.DriverManager; import ja

java向mysql插入时间,时间日期格式化

java向MySQL插入当前时间的几种方式和java时间日期格式化的几种方法:(资料参考网络资源) 1. java向MySQL插入当前时间的几种种方式 第一种:将java.util.Date类型的时间转成mysql数据库识别的java.sql.Date类型时间 注:java.util.Date是java.sql.Date的父类 向上转型:我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类. 通过 Cat c = new Cat(); 实例化一个Cat的对象,但当我这样定义时:

(转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)

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用PreparedS

java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)

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用PreparedS

PreparedStatement setDate setTimestamp ,util.date sql.date区别

如果数据库中是时分秒,那么切记,用setTimestamp 而不是 setDate(仅仅精确是天,不含时分秒)

JDBC编程之预编译SQL与防注入式攻击以及PreparedStatement的使用教程

在JDBC编程中,常用Statement.PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程. 1.Statement       该对象用于执行静态的 SQL 语句,并且返回执行结果. 此处的SQL语句必须是完整的,有明确的数据指示.查的是哪条记录?改的是哪条记录?都要指示清楚.     通过调用

PreparedStatement接口

从实际来讲,Statement现在已经不使用了,他已经称为了历史. Statement执行关键性问题在于他需要一个完整 的字符串定义要使用的SQL语句,而PreparedStatement可以动态的设置所需要的数据. PrepareStatement属于Statement的子接口但是想要取得这个子接口的实例化对象,依然要使用COnnection提供的方法. prepareStatement PreparedStatement prepareStatement(String sql) throws

PreparedStatement

一.or ture or安全问题-------------利用PreparedStatement接口解决        解决办法:使用Statement的子接口PreparedStatement来解决.        即:            PreperedStatement的参数使用占位符替代,            能通过setXxxx()方法为占位符赋值,            在赋值的过程中动态检测,预防SQL注入问题的发生.        code:            Stri