当前位置:编程学习 > JAVA >>

Step By Step(Java JDBC篇)

 

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                     "jdbc:oracle:thin:@//192.168.1.101:1526/OraHome", conProps);

12             statement = conn.createStatement();

13             String sql = "CREATE TABLE books (id NUMBER(11), title VARCHAR2(64))";

14             statement.execute(sql);

15         } catch (SQLException e) {

16             e.printStackTrace();

17         } finally {

18             try {

19                 //为了方便程序

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,