一、Connection[接口]
1. 打开一个连接
创建与数据库的连接的标准方式是在DataSource或DriverManager上调用方法getConnection()。Driver方法connect使用URL来建立连接。
用户可以设置JDBC管理层,然后直接调用Driver方法。在两个驱动程序连接到一个数据库,而用户想明确地选择一个特定的驱动程序时,这是很有用的,尽管这种情况很少见。然而,通常让DataSource或DriverManager打开连接会更容易。
2. 数据库URL
URL(Uniform Resource Locator,统一资源定位符)是在Intenet查找资源的标识符。可以认为它是一个地址。JDBC URL是确定数据库的灵活方式,从而使得适当的驱动程序识别它并建立与它的连接。JDBC URL允许不同的驱动程序为命名数据库使用不同的方案。例如,odbc子协议允许URL包含属性值。
jdbc:<subprotocol>:<subname>
JDBC URL的三个部分如下:
jdbc:协议。JDBC URL中的协议总是jdbc。
<subprotocol>:驱动程序或连接机制的名称,可以有一个或多个驱动程序支持。
<subname>:数据库的唯一标识符。
3. odbc子协议
odbc子协议特性是,允许在数据库名称后指定任意数量的属性值,如下所示:
jdbc:odbc:<data-source-name>[;<attribute-name>=<attribute-value>]*]
二、SQL语句
JDBC核心API提供了三种向数据库发送SQL语句的类:
1. Statement对象
Statement对象用于执行静态SQL语句和获得SQL产生的结果。定义了三种执行SQL语句的方法,用来处理返回不同结果的SQL命令:
2. PreparedStatement语句
PreparedStatement仅仅是预编译语句。可以使用占位符。
public class PreparedStmt{
public static void main(String[] args){
int qty;
float cost;
String name;
String desc;
String query = "SELECT * FROM stock WHERE item_number = ? ";
try {
Class.forName("Oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:db", "username", "password");
PreparedStatement pStmt = conn.prepareStatement(query);
pStmt.setInt(1, 2);
Result rs = pStmt.executeQuery();
while(rs.next()){
name = rs.getString("name");
desc = rs.getString("description");
qty = rs.getInt("qty");
cost = rs.getFloat("cost");
System.out.println(name + ", " + desc +"/t: " + qty + "/t@ $" + cost);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try{
if (rs != null) rs.close();
if(pStmt != null) pStmt.close();
if(conn != null) conn.close();
} catch (SQLException e){
e.printStackTrace();
}
}
}
}
3. CallableStatement
允许从Java应用程序中调用数据库存储过程。CallableStatement对象包含了对存储过程的调用;但不包含存储过程本身,这是由于存储过程是存储在数据库中的。
使用方法:CallableStatement cStmt = conn.prepareCall("{call 存储过程名(参数表列)}");
JDBC-Statement,prepareStatement,CallableStatement的比较
原文:http://www.cnblogs.com/Lxiaojiang/p/6708570.html