package cn.itcast.jdbc;
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(), 500f);
Date d=read(5);
System.out.println(d);
}
static void create(String name, Date birthday, float money)
throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = JdbcUtils.getConnection();
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())); // 转换,将java.util中的Date转换称java.sql中的Date
ps.setFloat(3, money);
int i = ps.executeUpdate();
System.out.println("i=" + i);
} finally {
JdbcUtils.free(rs, ps, conn);
}
}
static Date read(int id) throws SQLException {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
Date birthday=null;
try {
conn = JdbcUtils.getConnection();
st = conn.createStatement();
rs = st.executeQuery("select birthday from user where id="+id);
while (rs.next()) {
birthday=new Date(rs.getDate("birthday").getTime()); //转换时间,子类赋给父类,也可以不转换
// birthday=rs.getDate("birthday");
}
} finally {
JdbcUtils.free(rs, st, conn);
}
return birthday;
}
}
注意第31行和第57行的Date转换