这里以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
实例代码如下:
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.util.ArrayList;
importjava.util.List;
importjavax.sql.PooledConnection;
importoracle.jdbc.pool.OracleConnectionPoolDataSource;
publicclassJDBCTest {
privateString url =null;
/*
*
*/
publicJDBCTest(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;
}
publicList getList(String sUsrName, String sPassword, String sql) {
List resultList =newArrayList();
try{
OracleConnectionPoolDataSource ocpds =newOracleConnectionPoolDataSource();
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) {
}
returnresultList;
}
/**
* @param args
*/
publicstaticvoidmain(String[] args) {
// use you real info
String sUsrName ="";
String sPassword ="";
String sql ="";
JDBCTest jdbctest =newJDBCTest("localhost","1521","orcl");
List 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);
【编辑推荐】
【责任编辑:小林 TEL:(010)68476606】
点赞 0