importjava.sql.*;publicclassGradation{//创建类staticConnectioncon;//声明Connection对象staticStatementsql;//声明Statement对象staticResultSetres;//声明ResultSet对象publicCo...
import java.sql.*;
public class Gradation { // 创建类
static Connection con; // 声明Connection对象
static Statement sql; // 声明Statement对象
static ResultSet res; // 声明ResultSet对象
public Connection getConnection() { // 连接数据库方法
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/auction", "root", "6619772");
} catch (Exception e) {
e.printStackTrace();
}
return con; // 返回Connection对象
}
public static void main(String[] args) { // 主方法
Gradation c = new Gradation(); // 创建本类对象
con = c.getConnection(); // 与数据库建立连接
try {
sql = con.createStatement(); // 实例化Statement对象
// 执行SQL语句,返回结果集
res = sql.executeQuery("select * from auction_user");
while (res.next()) { // 如果当前语句不是最后一条则进入循环
String id = res.getString("user_id"); // 获取列名是"id"的字段值
// 获取列名是"name"的字段值
String name = res.getString("username");
// 获取列名是"sex"的字段值
String sex = res.getString("userpass");
// 获取列名是"birthday"的字段值
String birthday = res.getString("email");
System.out.print("编号:" + id); // 将列值输出
System.out.print(" 密码:" + sex);
System.out.print(" 姓名:" + name);
System.out.println(" 邮箱:" + birthday);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
疑问:ResultSet是java.sql里面的一个接口。为什么res = sql.executeQuery("select * from auction_user")可以返回一个ResultSet对象呢?我没有看到哪个类实现了它啊?另外,我的理解是向上转型为接口。可是向上转型为接口,接口的方法就可以直接使用了?总要有实现类的吧?
展开