前言:关于java.sql.ResultSet接口,做一个简单总结,之后还会继续完善。
ResultSet可以获取到JDBC访问数据库的结果集
普遍用法:它可以由java.sql.PreparedStatement或者java.sql.CallableStatement两个接口获取
java.sql.PreparedStatement用法:
//具体SQL
StringBuffer sql = new StringBuffer(" select * from table\n ");
//con对象为Connection对象,这里不做详解
PreparedStatement p = con.prepareStatement(sql.toString());
//执行后
cstm.execute();
//获取结果集
p.getResultSet();
java.sql.CallableStatement用法:
//具体SQL
StringBuffer sql = new StringBuffer(" select * from table\n ");
//con对象为Connection对象,这里不做详解
CallableStatement cstm = con.prepareCall(sql.toString());
//执行后
cstm.execute();
//获取结果集
ResultSet rs = cstm.getResultSet();
基本的用法有:
//遍历结果集
while(rs!=null && rs.next()){
//第一种是,通过字段名称获取返回内容
rs.getString("字段名");//通过字段名称,并且返回String类型的内容
rs.getDate("字段名");//通过字段名称,并且返回Date类型的内容
rs.getTimestamp("字段名");//通过字段名称,并且返回Timestamp类型的内容
rs.getInt("字段名");//通过字段名称,并且返回int基础类型的内容
//第二种是,通过字段顺序获取返回内容
rs.getString(0);//获取第1个字段内容,并且返回值为String类型
rs.getDate(1);//获取第2个字段内容,并且返回值为Date类型
rs.getTimestamp(2);//获取第3个字段内容,并且返回值为Timestamp类型
rs.getInt(3);//获取第4个字段内容,并且返回值为int基础类型
//其余的类型,大致可以根据方法名称识别
}
注意:ResultSet.getDate()方法获取和ResultSet.getTimestamp()方法,都是获取时间内容,但是有区别的是,他们的格式问题;
列如:
数据库类型为SQL SERVER2008,数据格式为dateTime
数据库内容格式为:2018-06-25 09:39:21.000
ResultSet.getDate():返回的数据,格式2018-06-25
ResultSet.getTimestamp():返回的数据,格式2018-06-25 09:39:21.000