加载ojdbc5.jar或ojdbc14.jar
Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@localhost:1521:ses1"; //ses1是Oracle SID String user = "scott"; String password = "welcome1"; Connection con = DriverManager.getConnection(url, user, password); Statement dispStmt = con.createStatement(); ResultSet rs = dispStmt.executeQuery("select * from visitors"); while (rs.next()) { out.println(rs.getString("NAME") + ": " + rs.getString("email")); } PreparedStatement updStmt = con.prepareStatement("insert into visitors(name, email) values(?, ?)"); updStmt.setString(1, name); updStmt.setString(2, email); updStmt.executeUpdate(); //call function CallableStatement callStmt = con.prepareCall("{?=call getemail(?)}"); callStmt.registerOutParameter(1, Types.VARCHAR); callStmt.setString(2, "luke2"); callStmt.execute(); out.println((String)callStmt.getString(1)); //call procedure CallableStatement callStmt2 = con.prepareCall("{call insertuser(?,?)}"); callStmt2.setString(1, "luke2"); callStmt2.setString(2, "test@dot.com"); callStmt2.execute();
public static void main(String args[]) throws SQLException { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL=TCP) (HOST=orcl-experts1.info)(PORT=1521)) (ADDRESS = (PROTOCOL=TCP)(HOST=orcl-experts2.info) (PORT=1521))) (CONNECT_DATA = (SERVICE_NAME = orclexperts.info)))", "TRADE", "FINANCE"); // @machineName:port:SID, userid, password Statement stmt = conn.createStatement(); ResultSet rset = stmt.executeQuery("select INSTANCE_NUMBER,INSTANCE_NAME,STATUS from gv$instance"); while (rset.next()) { System.out.println(rset.getString(1) + " " + rset.getString(2) + " " + rset.getString(3)); } rset.close(); stmt.close(); conn.close(); }
javax.sql.DataSource
try{ Context ctx = new InitialContext(); if(ctx == null) throw new Exception("no Context!"); javax.sql.DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TestDB"); Connection con = ds.getConnection(userName,password); }catch(Exception e) {}
参考:
JDBC入门基础讲座
java中调用ORACLE存储过程
oracle 存储过程 带游标作为OUT参数输出
写了一个简单的数据库连接池
spring调用Oracle存储过程,并返回结果集的完整实例
Java的JDBC数据库连接池实现方法
JAVA_JDBC
Test JDBC重点