如何在java类中向oracle数据库写入Date类型的日期

来源:互联网 发布:中文域名和英文域名 编辑:程序博客网 时间:2024/05/07 17:30

private PreparedStatement pstmt = null;

pstmt = conn.prepareStatement(sql);
......

str = "update eam_pc_plan set status = ?,factTime = ?,dealResult=?,pcMan=? where pcPlanId = ?";
      pstmt = conn.prepareStatement(str);
      pstmt.setInt(1, pcPlan.getStatus());
      java.text.SimpleDateFormat  df  = new  SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
      try {
       if(pcPlan.getFactTime() !=null){

//方法一:保存到数据库中的值,只有年月日,没有时分秒
        
java.util.Date ud = df.parse(pcPlan.getFactTime());   //getFactTime()返回String类型
        java.sql.Date sd=new java.sql.Date(ud.getTime());
        pstmt.setDate(2, sd);   

//方法二:保存到数据库中的值,有年月日时分秒
        java.util.Date ud = df.parse(pcPlan.getFactTime());
        java.sql.Timestamp st = new java.sql.Timestamp(ud.getTime());
        pstmt.setTimestamp(2, st); 
        
       }       
      } catch (ParseException e) {      
       e.printStackTrace();
      } 

......

0 1