向mysql中插入Date类型的数据

时间:2023-03-08 22:58:42
向mysql中插入Date类型的数据

先看数据库表的定义

向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();
}

数据库刷新后如下:

向mysql中插入Date类型的数据

二、插入指定日期的数据

将"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();
}

数据库刷新后如下:

向mysql中插入Date类型的数据

三、从数据库中读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.****.net/foamflower/article/details/2171537