這裡以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
實例代碼如下:
- import Java.sql.Connection;
- import Java.sql.PreparedStatement;
- import Java.sql.ResultSet;
- import Java.util.ArrayList;
- import Java.util.List;
- import Javax.sql.PooledConnection;
- import oracle.jdbc.pool.OracleConnectionPoolDataSource;
- public class JDBCTest {
- private String url = null;
- /*
- *
- */
- public JDBCTest(String sHostName, String sPortNumber, String sSid) {
- url = "jdbc:Oracle:thin:@" + sHostName + ":" + sPortNumber + ":" + sSid;
- // if JDK1.6 you also can use as
- // url = "jdbc:Oracle:thin:@" + sHostName + ":" + sPortNumber + "/" + sSid;
- }
- public List<String> getList(String sUsrName, String sPassWord, String sql) {
- List<String> resultList = new ArrayList<String>();
- try {
- OracleConnectionPoolDataSource ocpds = new OracleConnectionPoolDataSource();
- String url1 = System.getProperty("JDBC_URL");
- if (url1 != null)
- url = url1;
- ocpds.setURL(url);
- ocpds.setUser(sUsrName);
- ocpds.setPassword(sPassWord);
- PooledConnection pc = ocpds.getPooledConnection();
- Connection conn = pc.getConnection();
- PreparedStatement pstmt = conn.prepareStatement(sql);
- ResultSet rset = pstmt.executeQuery();
- while (rset.next()) {
- resultList.add(rset.getString(1));
- }
- rset.close();
- pstmt.close();
- conn.close();
- pc.close();
- } catch (Exception e) {
- }
- return resultList;
- }
- /**
- * @param args
- */
- public static void main(String[] args) {
- // use you real info
- String sUsrName = "";
- String sPassWord = "";
- String sql = "";
- JDBCTest jdbctest = new JDBCTest("localhost", "1521", "orcl");
- List<String> list = jdbctest.getList(sUsrName, sPassWord, sql);
- System.out.println(list.size());
- }
- }
需要特別注意的是:
url = "jdbc:Oracle:thin:@" + sHostName + ":" + sPortNumber + "/" + sSid;
在JDK1.6 中,可以使用如上的url . 也就是port 和sid之間可以用 “/” 分割。 在JDK 1.5 中就不能這樣用了,只能使用 ":" 。
除了使用以上連接池的方式進行連接外, 當然也可以使用傳統方式進行連接
- Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
- Connection conn = DriverManager.getConnection(url, suUserName,passWord);