標籤:
先看資料庫表的定義
date欄位為sql.date類型。我要向其中插入指定的日期和當前日期。
一、插入當前日期
思路:先擷取當前系統,在將當前系統時間轉換成sql類型的時間,然後插入資料庫。代碼如下
public static void insert_now() throws ClassNotFoundException, SQLException{ java.util.Date utilDate = new Date(); //擷取java.util.Date對象---也即目前時間 java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); //將java.util.Date類型轉換成java.sal.Date類型 Connection conn = JDBCUtils.getConn(); //擷取資料庫連接 String sql = "insert into testdate(date) values (?)"; PreparedStatement ps = conn.prepareStatement(sql); ps.setDate(1, sqlDate); //sql類型的資料插入資料庫 ps.executeUpdate(); conn.close();}
資料庫重新整理後如下:
二、插入指定日期的資料
將"2012-12-21"這個字串插入資料庫。思路:使用java.sql.Date.valueOf(String str)方法將字串轉換成sql類型的Date,然後插入資料庫中
public static void string_insert_sql() throws ClassNotFoundException, SQLException{ String str = "2012-12-21"; java.sql.Date sqlDate = java.sql.Date.valueOf(str); //將字串轉換成sql.Date類型 Connection conn = JDBCUtils.getConn(); //串連資料庫 String sql = "insert into testdate(date) values (?)"; PreparedStatement ps = conn.prepareStatement(sql); ps.setDate(1, sqlDate); //sql類型的額資料插入資料庫 ps.executeUpdate(); conn.close();}
資料庫重新整理後如下:
三、從資料庫中讀Date類型的資料
public static void sql_to_string() throws ClassNotFoundException, SQLException{ Date date = null; Connection conn = JDBCUtils.getConn(); //擷取資料庫連接 String sql = "select * from testdate where id = 4"; PreparedStatement ps = conn.prepareStatement(sql); ResultSet rs = ps.executeQuery(); if(rs.next()){ date = rs.getDate(2); } conn.close(); System.out.println(date); //可以將date轉換成date.toString() }
附上一片看到的博文 http://blog.csdn.net/foamflower/article/details/2171537
向mysql中插入Date類型的資料