在jdbc原代码中,加载驱动、创建链接和关闭资源的代码都是固定的,可以单独拿出来放在一个类里面,这样就不用每次重复改写代码,直接调用该方法即可。
修改后的代码如下
新建一个DBUtil类把固定不变的代码放里面
public class DBUtil {
public Connection getConnection() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/zjgm?user=root&password=123456");
return connection;
}
public void CloseAll(ResultSet resultSet,Statement statement,Connection connection) throws SQLException {
//当涉及增删改操作时可以不需要返回值resultSet,此时resultSet值可设置为null
if(resultSet!=null){
resultSet.close();
}
statement.close();
connection.close();
}
}
主程序执行代码
public class Test2 {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
DBUtil dbUtil = new DBUtil();
Connection connection = dbUtil.getConnection();
String sql = "select * from stu";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()){
int id = resultSet.getInt(1);
String name = resultSet.getString(2);
int age = resultSet.getInt(3);
System.out.printf("id:%d name:%s age:%d\n",id,name,age);
}
dbUtil.CloseAll(resultSet,statement,connection);
}
}