向mysql中插入Date类型的数据
先看数据库表的定义
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