/*
* 说明:在main方法后不声明可能要抛出的异常,而在代码中用try….catch….来交给异常类来捕获处理。
* 若是直接声明异常将由JVM来处理,这样,JVM资源将会被逐渐用完,这样JVM的运行速度会越来越慢。
* 缺点:当我们将JDBC与数据库连接时都要重复写连接数据库和关闭数据库的代码,而这些代码是不需要改动的。
* 这样比较麻烦。
* 优化方法:将连接数据库连接和关闭数据库的代码封装到另一个类中;参见类JDBCTest2.java和JDBCConAndClo.java;
*/
public class JDBCTest1 {
public static void main(String args[]) {
Connection con = null;
Statement stm = null;
ResultSet rs = null;
String URL = “jdbc:oracle:thin:@localhost:1521:ambow”;
String user = “system”;
String password = “wqq123”;
try {
// 1.注册并加载JDBC驱动程序:有三种方法:
//方法一:
Class.forName(“oracle.jdbc.driver.OracleDriver”);
//方法二:
//Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();
//方法三:直接建一个驱动对象:
//new oracle.jdbc.driver.OracleDriver();
// 2.建立与数据库的连接:
con = DriverManager.getConnection(URL, user, password);
// 判断是否连接成功
if (!con.isClosed()) {
System.out.println(“数据库连接成功。”);
} else {
System.out.println(“数据库连接失败。”);
}
// 3.执行sql语句:
String sql = “select * from s_dept”;
// 创建一个statement(发送sql)
stm = con.createStatement();
// 执行查询sql语句
rs = stm.executeQuery(sql);
// 4.获取sql结果集:
while (rs.next()) {
// 将数据库各个字段名类型转换为java中类型(getXXX方法)
System.out.print(rs.getString(“id”) + ” “);
System.out.print(rs.getString(“name”) + ” “);
System.out.println(rs.getString(“region_id”));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally {
// 5.关闭数据库(规则:顺着进,倒着关),释放资源:
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stm != null) {
stm.close();
stm = null;
}
if (con != null) {
con.close();
con = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
注意:但我们通常将对数据库的连接和关闭操作专门封装在另一个包中,在对数据库的操作中会直接调用这个封装类。
怎样解决多次重复jdbc编程步骤?
最新推荐文章于 2024-05-29 09:42:20 发布