String sql = "select id, name, birthday, money from user where name = ?";
while (rs.next()) { // 推荐写列名,不建议写索引号
System.out.println("id:" + rs.getInt("id") + '\t' + rs.getString("name") + '\t'
+ rs.getDate("birthday") + '\t' + rs.getFloat("money"));
}
Date
package zucc.edu.cn.jdbc;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date; // 这里的Date用的是java.util包里的Date类
import java.sql.PreparedStatement;
public class DateTest {
public static void main(String[] args) throws SQLException {
create("ChenJM", new Date(), 600);
}
public static void create(String name, Date birthday, float money) throws SQLException {
Connection conn = null; // 这里的Date用的是java.util包里的Date类
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 2.建立连接
conn = jdbcUtils.getinstance().getConnection();
// 3.创建执行SQL的语句
String sql = "insert into user(name, birthday, money) value (?, ?, ?)";
ps = conn.prepareStatement(sql);
ps.setString(1, name);
ps.setDate(2, new java.sql.Date(birthday.getTime()));
/*
* java.sql包继承自java.util包 所以需要把util.Date类型的数据转换成sql.Date类型的数据
* java.sql.Date(birthday.getTime())
*/
ps.setFloat(3, money);
// 4.执行语句
ps.executeUpdate();
} finally {
// 6.释放资源
jdbcUtils.free(rs, ps, conn);
}
}
}
1 JiangLR 1998-01-02 333
2 HunagWB 1998-01-01 433
3 FanJH 1997-12-12 533
4 JiangJY 1997-01-02 633
6 ChenJM 2018-04-17 600
读
public static Date read(int id) throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
Date birthday = null;
try {
// 2.建立连接
conn = jdbcUtils.getinstance().getConnection();
// 3.创建执行SQL的语句
String sql = "select birthday from user where id = ?";
ps = conn.prepareStatement(sql);
ps.setInt(1, id);
// 4.执行语句
rs = ps.executeQuery();
// 5.处理结果
while (rs.next()) {
birthday = new Date(rs.getDate("birthday").getTime());
/*
* rs.getDate("birthday").getTime()是java.sql.Date的数据
* 而new Date()是java.util包的类
* birthday是java.util.Date的数据 最后输出例:Tue April 17 00:00:00 CST
* 2018
*/
birthday = rs.getDate("birthday");
/*
* birthday是java.util.Date的数据,java.sql.Date的getDate()方法已经做了格式化操作
* 所以最后输出例:2018-4-17
*/
}
} finally {
// 6.释放资源
jdbcUtils.free(rs, ps, conn);
}
return birthday;
}