目录

用JAVA实现数据库中信息的查询

目录

用JAVA实现数据库中信息的查询

查询代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

Connection connection=null;
Statement statement=null;
ResultSet resultSet=null;
try {
Class.forName("com.mysql.jdbc.Driver");
connection=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","root");
statement=connection.createStatement();
String sql="select * from user_info"; //发出查询指令

    	resultSet=statement.executeQuery(sql);//执行语句后得到的结果很多,存到定义的集合中,再用循环输出。
    	while(resultSet.next()) {	//相当于迭代器循环。判断是否存在,当存在时调用getString();方法得到值。
    		String id=resultSet.getString("id");
    		String userName=resultSet.getString("user_name");
    		String password=resultSet.getString("password");
    		System.out.println(id+":"+userName+":"+password);
    	}
    } catch (Exception e) {
    	e.printStackTrace();
    }finally {	//释放资源:首先关闭循环,再关闭窗口,最后关闭连接。

    	try {
    		if(resultSet!=null) {
    			resultSet.close();
    		}
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}

    	try {
    		if(statement!=null) {
    			statement.close();
    		}
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}

    	try {
    		if(connection!=null) {
    			connection.close();
    		}
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
    }

finally 中语句不能写成如下代码:因为 resultSet.close();出现异常,终止下边同级代码的执行,将不会再执行关闭窗口和关闭连接的代码。

finally {
try {
if(resultSet!=null){
resultSet.close();
if (statement!=null) {
statement.close();
if (connection!=null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}