本文共 2201 字,大约阅读时间需要 7 分钟。
在Java中有两个日期类型(当然JDK8还新增java.time.LocalDate),一个是java.sql.Date,另一个是java.util.Date类,其中java.sql.Date类继承自java.util.Date类。同时需要注意的是,java.sql.Date只包含日期,而java.util.Date还包含时间。
测试类中的代码:
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;import org.junit.Test;/** * 测试java.util.Date和java.sql.Date */public class DateTest { /** * 该方法测试成功 * @throws SQLException */ @Test public void testCreate() throws SQLException { /** * 注意这里传入的是java.util.Date */ create("name2", new Date(), 500.0f); } /** * 该方法测试成功 * @throws SQLException */ @Test public void testRead() throws SQLException { Date d = read(3); System.out.println(d); } /** * 通过id查询结果 * @param id * @return * @throws SQLException */ 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()) { //通过这种方式构造会输出时间 //输出结果:Tue May 30 00:00:00 CST 2017 birthday = new Date(rs.getDate("birthday").getTime()); //注意:下面的方法返回的是java.sql.Date,但是java.sql.Date是继承 //自java.util.Date,所以可以直接进行赋值操作,这样写输出日期 //输出结果:2017-05-30 //birthday = rs.getDate("birthday"); } }finally { JdbcUtils.free(rs, st, conn); } return birthday; } /** * 执行插入操作 * @param name * @param birthday java.util.Date * @param money * @throws SQLException */ 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); //这里将java.util.Date转换为java.sql.Date, //并且该方法接收参数是java.sql.Date ps.setDate(2, new java.sql.Date(birthday.getTime())); ps.setFloat(3, money); int i = ps.executeUpdate(); //i表示的是影响的结果 System.out.println("i=" + i); }finally{ JdbcUtils.free(rs, ps, conn); } }}
转载地址:http://jklvb.baihongyu.com/