Java中使用JDBC连接数据库例程与注意事项

开发 后端
这里以JDBC连接Oracle 10g为例。Java 连接数据库,可以通过JDBC的方式。首先需要下载JDBC的jar包。详细情况下文

这里以JDBC连接Oracle 10g为例

Java 连接数据库,可以通过JDBC的方式。 首先需要下载JDBC的jar包。

官方下载地址是: http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-10201-088211.html

可以下载ojdbc14.jar 这个版本。(支持JDK1.4;JDK1.5; JDK1.6 )

这个版本的下载地址是:(可能需要登录Oracle网站)

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-10201-088211.html

实例代码如下:

  1.  
  2. import java.sql.Connection;  
  3. import java.sql.PreparedStatement;  
  4. import java.sql.ResultSet;  
  5. import java.util.ArrayList;  
  6. import java.util.List;  
  7.  
  8. import javax.sql.PooledConnection;  
  9.  
  10. import oracle.jdbc.pool.OracleConnectionPoolDataSource;  
  11.  
  12. public class JDBCTest {  
  13.     private String url = null;  
  14.  
  15.     /*  
  16.      *   
  17.      */ 
  18.     public JDBCTest(String sHostName, String sPortNumber, String sSid) {  
  19.         url = "jdbc:oracle:thin:@" + sHostName + ":" + sPortNumber + ":" + sSid;  
  20.         // if JDK1.6 you also can use as  
  21.         // url = "jdbc:oracle:thin:@" + sHostName + ":" + sPortNumber + "/" + sSid;  
  22.     }  
  23.  
  24.     public List<String> getList(String sUsrName, String sPassword, String sql) {  
  25.         List<String> resultList = new ArrayList<String>();  
  26.         try {  
  27.             OracleConnectionPoolDataSource ocpds = new OracleConnectionPoolDataSource();  
  28.             String url1 = System.getProperty("JDBC_URL");  
  29.             if (url1 != null)  
  30.                 url = url1;  
  31.             ocpds.setURL(url);  
  32.             ocpds.setUser(sUsrName);  
  33.             ocpds.setPassword(sPassword);  
  34.             PooledConnection pc = ocpds.getPooledConnection();  
  35.             Connection conn = pc.getConnection();  
  36.             PreparedStatement pstmt = conn.prepareStatement(sql);  
  37.             ResultSet rset = pstmt.executeQuery();  
  38.             while (rset.next()) {  
  39.                 resultList.add(rset.getString(1));  
  40.             }  
  41.             rset.close();  
  42.             pstmt.close();  
  43.             conn.close();  
  44.             pc.close();  
  45.         } catch (Exception e) {  
  46.  
  47.         }  
  48.         return resultList;  
  49.     }  
  50.  
  51.     /**  
  52.      * @param args  
  53.      */ 
  54.     public static void main(String[] args) {  
  55.                 // use you real info  
  56.         String sUsrName = "";  
  57.         String sPassword = "";  
  58.         String sql = "";  
  59.  
  60.         JDBCTest jdbctest = new JDBCTest("localhost""1521""orcl");  
  61.         List<String> list = jdbctest.getList(sUsrName, sPassword, sql);  
  62.         System.out.println(list.size());  
  63.     }  
  64.  
  65. }  

需要特别注意的是:

url = "jdbc:oracle:thin:@" + sHostName + ":" + sPortNumber + "/" + sSid;

在JDK1.6 中,可以使用如上的url . 也就是port 和sid之间可以用 “/” 分割。 在JDK 1.5 中就不能这样用了,只能使用 ":" 。

除了使用以上连接池的方式进行连接外, 当然也可以使用传统方式进行连接

  1. Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();  
  2. Connection conn = DriverManager.getConnection(url, suUserName,passWord); 

原文链接:http://blog.csdn.net/oscar999/article/details/7305489

【编辑推荐】

  1. 同一段程序在Java和C中的不同结果
  2. Java对存储过程的调用方法
  3. Java初学者都必须理解的六大问题
  4. JavaFX1.2和JavaFX1.3寿命将要结束
  5. Java 5线程池使用
责任编辑:林师授 来源: oscar999的博客
相关推荐

2009-07-06 17:23:34

JDBC连接数据库

2009-07-14 17:18:23

JDBC怎么连接数据库

2009-07-20 15:56:08

JDBC连接数据库步骤

2010-06-02 10:02:38

Linux mysql

2011-03-04 16:09:48

数据库优化设计注意事项

2009-07-20 14:30:38

jdbc连接数据库代码

2012-12-27 13:04:17

Android开发SQLite数据库

2011-04-20 14:52:02

数据库优化

2011-04-19 09:28:26

数据库产品

2009-07-24 13:40:16

使用SilverLig

2011-03-16 17:14:17

JavaBean数据库

2010-07-01 16:45:15

SQL Server

2009-08-27 10:40:56

Java路径

2011-08-22 15:05:03

MySQLEXPLAIN

2009-12-21 09:53:45

连接Oracle

2009-07-07 17:42:28

2010-07-15 13:38:35

2022-03-01 13:35:01

数据库备份技术

2009-07-03 14:10:59

2011-12-05 10:43:54

JavaJDBC数据库
点赞
收藏

51CTO技术栈公众号