Step By Step(Java JDBC篇) (一)

2014-11-24 03:19:38 · 作者: · 浏览: 0

JDBC是Sun公司发布的数据库连接API组件,使开发人员可以通过这个API接口连接到多种数据库,如Oracle、MySQL等,并使用SQL语句完成数据库的查询和更新等操作。JDBC主要分为两层,第一层为Java的接口层,主要面向Java的应用程序开发者,它定义了操作数据库的各种功能的接口,第二层为数据库驱动层,为数据库供应商提供了注册其数据库产品驱动程序的接口,两者之间是通过驱动管理器来负责协调和管理的。由于JDBC为所有支持的数据库提供了统一的API接口,因此在实际的开发中,如果软件产品被要求同时支持多种数据库平台,其间主要的差异将来自于不同数据库产品在特殊SQL语句方面的差异,至于调用接口方面,如果没有使用极为依赖数据库平台的接口API,那么该部分程序代码将不用作出任何改变。以下我们将通过示例代码的方式逐步了解JDBC中提供的API接口。

1. 创建与数据库的连接:

在使用Oracle的jdbc驱动之前需要先将Oracle提供的ojdbc14.jar添加到你的工程中,该文件一般位于"C:\oracle\product\10.2.0\db_1\jdbc\lib",以下示例用于验证你的驱动是否正常安装:

1 public static void main(String[] args) {

2 System.out.println("TestJDBCDriverInstallation_Oracle begin");

3 try {

4 String className = "oracle.jdbc.driver.OracleDriver";

5 Class< > driverObject = Class.forName(className);

6 System.out.println("driverObject=" + driverObject);

7 System.out.println("your installation of JDBC Driver OK.");

8 } catch (Exception e) {

9 // your installation of JDBC Driver Failed

10 System.out.println("Failed: JDBC Driver Error: " + e.getMessage());

11 }

12 System.out.println("TestJDBCDriverInstallation_Oracle end.");

13 }

在确认驱动正常工作之后,尝试连接你的Oracle数据库,见下例:

1 //以非sysdba的身份登录

2 public static void main(String[] args) throws Exception {

3 Class.forName("oracle.jdbc.driver.OracleDriver");

4 /* @//192.168.1.101:1526/OraHome

5 * @//host_ip:port/SID

6 */

7 Connection conn = DriverManager.getConnection(

8 "jdbc:oracle:thin:@//192.168.1.101:1526/OraHome","scott","123456");

9 Statement stmt = conn.createStatement();

10 ResultSet rset = stmt.executeQuery("select * from user_tables");

11 while (rset.next())

12 System.out.println(rset.getString(1));

13 stmt.close();

14 }

15 //以sysdba的身份登录

16 public static void main(String[] args) throws Exception {

17 Class.forName("oracle.jdbc.driver.OracleDriver");

18 Properties conProps = new Properties();

19 conProps.put("user", "sys");

20 conProps.put("password", "helloworld");

21 conProps.put("internal_logon", "sysdba");

22 Connection conn = DriverManager.getConnection(

23 "jdbc:oracle:thin:@//192.168.1.101:1526/OraHome",conProps);

24 //创建statement,并通过它执行sql查询。

25 Statement stmt = conn.createStatement();

26 ResultSet rset = stmt.executeQuery("select * from user_tables");

27 while (rset.next()) {

28 System.out.println(rset.getString(1));

29 }

30 stmt.close();

31 }

2. 创建和删除表。

1 public static void main(String[] args) throws ClassNotFoundException{

2 Class.forName("oracle.jdbc.driver.OracleDriver");

3 Properties conProps = new Properties();

4 conProps.put("user", "sys");

5 conProps.put("password", "helloworld");

6 conProps.put("internal_logon", "sysdba");

7 Connection conn = null;

8 Statement statement = null;

9 try {

10 conn = DriverManager.getConnection(

11