jdbc连接mysql,查询结果集
package com.examples.jdbc.o5_结果集查询;
import java.sql.*;
import java.util.ResourceBundle;
/*
jdbc遍历输出结果集
*/
public class Test {
public static void main(String[] args) {
resultSet();
}
//jdbc查询结果集
public static void resultSet(){
//资源绑定器获取配置文件属性
ResourceBundle resourceBundle = ResourceBundle.getBundle("config/jdbc");
String driver = resourceBundle.getString("driver");
String url = resourceBundle.getString("url");
String userName = resourceBundle.getString("userName");
String passWord = resourceBundle.getString("passWord");
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
try {
//1.
Class.forName(driver);
//2.
connection = DriverManager.getConnection(url, userName, passWord);
//3.
statement = connection.createStatement();
/*
4. 注意:executeQuery()执行 -- 查
executeUpdate()执行 -- 增删改
*/
String sql = "select * from student";
rs = statement.executeQuery(sql);
//5. 遍历输出结果集
resultSetOutByNum(rs);
//resultSetOutByName(rs);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}finally {
//6.
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(statement != null){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(connection != null){
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
//按照列号输出, jdbc编号从1开始
public static void resultSetOutByNum(ResultSet rs) throws SQLException {
int id, sage;
String sname;
while(rs.next()){
id = rs.getInt(1);
sname = rs.getString(2);
sage = rs.getInt(3);
System.out.println("id: " + id + " sname: " + sname + " sage: " + sage);
}
//rs的next已经走到查询结果的结尾,并没有自动回到最初指向的位置
}
//按照列名输出, 参考输出结果中的最终列名,按照列名查找更具有健壮性
public static void resultSetOutByName(ResultSet rs) throws SQLException {
int id, sage;
String sname;
while(rs.next()){
id = rs.getInt("id");
sname = rs.getString("sname");
sage = rs.getInt("sage");
System.out.println("id: " + id + " sname: " + sname + " sage: " + sage);
}
}
}
相关文章
暂无评论...