JavaWeb学习笔记 日期转换 番外篇 起到作用

来源:互联网 发布:adobecc2018 mac 破解 编辑:程序博客网 时间:2024/06/07 14:30

本次是使用 PreparedStatement 进行多组类似数据的插入,使用过程中preStmt.setDate()的方法,其中,setDate的第二个参数为 java.sql.Date;的类型而不是java.util.Date;的类型。

所以在获取当前时间时,会出现问题。其中,setDate的第二个传入的参数是string类型,所以想到,使用之前的方法,把日期转换成string类型,再传入应该可以解决问题。

下面附上代码

package com.duan.testsql;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.Date;import cn.itcast.jdbc.example.utils.JDBCUtils;public class Example11 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubConnection conn = null;PreparedStatement preStmt = null;try{conn =  JDBCUtils.getConnection();String sql = "INSERT INTO users(name,password,email,birthday)"+"VALUES(?,?,?,?)";preStmt = conn.prepareStatement(sql);NowDate nd = new NowDate();String date =nd.getNowDateToString();for(int i = 0; i < 5 ; i++){preStmt.setString(1,"name"+i);preStmt.setString(2, "password"+i);preStmt.setString(3, "email"+i+"@itcast.cn");preStmt.setDate(4, Date.valueOf(date));preStmt.addBatch();}preStmt.executeBatch();}catch (Exception e) {// TODO: handle exceptione.printStackTrace();}finally{JDBCUtils.release(null, preStmt,conn);}}}


 

 

 

package com.duan.testsql;import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.Date;public class NowDate {public  Date getNowDate() {      Date currentTime = new Date();      SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");      String dateString = formatter.format(currentTime);      ParsePosition pos = new ParsePosition(0);      Date currentTime_2 = formatter.parse(dateString, pos);      return currentTime_2; }  public  String getNowDateToString() {      Date currentTime = new Date();      SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");      String dateString = formatter.format(currentTime);       return dateString; }  }


 

 

问题得到很好解决,可以方便的把当前时间插入到数据库中。

0 0