JDBC有关知识

JDBC相关知识

最近用到JDBC的相关知识,系统的拿出来分析下:

JDBC的优点和缺点 
  JDBC API用于连接Java应用程序与各种关系数据库。这使得人们在建立客户/服务器应用程序时,通常把Java作为编程语言,把任何一种浏览器作为应用程序的友好界面,把Internet或Intranet作为网络主干,把有关的数据库作为数据库后端。以下是使用JDBC的优缺点。 
  优点如下: 
  1.JDBC API与ODBC十分相似,有利于用户理解。 
  2.JDBC使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方。 
  3.JDBC支持不同的关系数据库,使得程序的可移植性大大加强。 
  4.用户可以使用JDBC-ODBC桥驱动器将JDBC函数调用转换为ODBC。 
  5.JDBC API是面向对象的,可以让用户把常用的方法封装为一个类,备后用。 
  缺点如下: 
  1.使用JDBC,访问数据记录的速度会受到一定程度的影响。 
  2.JDBC结构中包含了不同厂家的产品,这就给更改数据源带来了很大的麻烦。

 

 

//连接类

public static Connection getConnection() {

try {

// 1、加载驱动(某种DB的驱动名)

Class.forName("com.mysql.jdbc.Driver");

// 2、向DriverManager注册,并获取连接(DB)

conn = DriverManager.getConnection(url, userName, password);

if (conn != null) {

System.out.println("Connection to the MySql......");

}

         //处理异常

} catch (Exception e) {

e.printStackTrace();

}

return conn;

}

 

//关闭连接

public static void closeConn(Connection conn) {

try {

conn.close();

conn = null;

} catch (SQLException e) {

e.printStackTrace();

}

}

 

//关闭 将参数化的 SQL 语句发送到数据库

public static void closePstmt(PreparedStatement pstmt) {

try {

pstmt.close();

pstmt = null;

} catch (SQLException e) {

e.printStackTrace();

}

}

 

//关闭结果集

public static void closeRs(ResultSet rs) {

try {

rs.close();

rs = null;

} catch (SQLException e) {

e.printStackTrace();

}

}

 

 

3. Statement接口的比较 
答:                | Statement       | PreparedStatement      |  CallableStatement 
    -------------------------------------------------------- 
    写代码位置   |   客户端         | 客户端                          |  服务器端 
    -------------------------------------------------------- 
   存放代码的位置|   客户端       | 服务器端                      |  服务器端 
    -------------------------------------------------------- 
    编写代码技术 | Java,SQL操作  |Java,SQL操作       |  数据库的程序语言,如PL/SQL 
    -------------------------------------------------------- 
    可配置性     |   高                |第一次高,以后低            |  低 

 

 

注意:

java中的异常是对象,所有异常的父类是java.lang.Throwable。 
java中异常采用冒泡处理机制。 
Error:没有办法处理; 
Exception:可以进行处理。 
          uncheck exception:不需要进行处理,如:空指针异常,数组越界等等。 
          check exception:所有实现了exception,必须对其进行处理,否则报错; 
两种方法:

要么用try...catch捕获异常;

要么继续向上抛出 throws 。