JDBC DATE
默认情况下,我们插入数据库中date类型的格式是:2011-11-03 可以直接插入。Date date=new Date();如何快速转化呢?
1.将util中的Date转换为sql中的date
Date d = new Date();System.out.println("d:=" + d);java.sql.Date d1 = new java.sql.Date(d.getTime());System.out.println("d1:=" + d1); 先util格式的date转化为1970.01.0的毫秒,然后通过sql中的date的构造函数传入
2.将sql中的date转化为util中的date
java.sql.Date d1 = new java.sql.Date(d.getTime());System.out.println("d1:=" + d1);Date d2 = new Date(d1.getTime()); 同理
数据库开发中date的demo
package cj;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Date;public class DateTest {public static void main(String[] args) throws SQLException {// create("name2", new Date(), 500.0f);Date d = read(7);System.out.println(d);}static Date read(int id) throws SQLException {Connection conn = null;Statement st = null;ResultSet rs = null;Date birthday = null;try {// 2.建立连接conn = JdbcUtil.getConnection();// 3.创建语句st = conn.createStatement();// 4.执行语句rs = st.executeQuery("select birthdayfrom user where id=" + id);// 5.处理结果while (rs.next()) {//birthday = new Date(rs.getDate("birthday").getTime());birthday = rs.getDate("birthday");}} finally {JdbcUtil.free(rs, st, conn);}return birthday;}static void create(String name, Date birthday, float money)throws SQLException {Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {// 2.建立连接conn = JdbcUtil.getConnection();// conn = JdbcUtilsSing.getInstance().getConnection();// 3.创建语句String sql = "insert into user(name,birthday, money) values (?, ?, ?) ";ps = conn.prepareStatement(sql);ps.setString(1, name);ps.setDate(2, new java.sql.Date(birthday.getTime()));ps.setFloat(3, money);// 4.执行语句int i = ps.executeUpdate();System.out.println("i=" + i);} finally {JdbcUtil.free(rs, ps, conn);}}}
页:
[1]