1、 如果要插入的日期是当前时间,最简单的办法就是利用oracle自带的日期函数:sysdate。
建表时,将字段默认值声明为sysdate,如下: create table examples ( names varchar(10 ), age number(3 ), BirDate date default sysdate ) 执行insert时,只需要insert前两个字段,BirDate字段会自动用当前时间填充,如下: insert into examples(names,age) values('helo',25); 这种方法的缺点是不够灵活。2、 如果要插入的日期只是年月日,则可以使用PreparedStatement的setDate()方法,改方法接受两个参数,第一个是插入的字段序列,第二个是java.sql.DATE类型的日期。
设表结构如下: create table examples ( names varchar(10 ), age number(3 ), BirDate date ) 则先获得日期:java.util.Date utilDate = new java.util.Date();// Convert it to java.sql.Datejava.sql.Date date = new java.sql.Date( utilDate .getTime());PreparedStatement psmt = null;String sqlstr = "insert into examples values(?,?,?)"; ....psmt.setDate(3,date);psmt.executeUpdate();
3、 如果插入的时间要精确到秒,则可以使用PreparedStatement的setTimestamp()方法,该方法接受两个参数:setTimestamp(int parameterIndex,Timestamp x),
表结构同上, 获得一个Timestamp:java.util.Date Dates = new java.util.Date(); java.sql.Timestamp time = new java.sql.Timestamp(Dates.getTime()); ...... psmt.setTimestamp(3, time);