java oracle connection

本文介绍了一个Java应用程序中用于管理数据库连接的实用类DBManage。该类提供了两种获取数据库连接的方法:一种是通过JNDI查找数据源,另一种是直接使用Oracle数据源建立连接。文章涉及了连接池的配置及异常处理。

package com.mitech.developer;

import javax.sql.DataSource;
import javax.naming.*;
import java.sql.*;
import java.util.*;

public class DBManage {

 public static Connection getConn() {
//  Connection con = null;
//  DataSource ds = null;
//  try {
//   Context initContext = new InitialContext();
//   Context envContext = (Context) initContext.lookup("java:/comp/env");
//   ds = (DataSource) envContext.lookup("jdbc/myoracle");
//  } catch (NamingException ne) {
//   System.err.println("NamingException Error:" + ne);
//  }
//
//  try {
//   con = ds.getConnection();
//  } catch (SQLException e) {
//   System.err.println(e);
//  }
//  return con;
  
  return getConn4Class();
  
 }
 

 

 public static Connection getConn4Class() {
  Connection conn = null;
  Hashtable pathProp = MultiDesign.getResourcePath();
  String url = (String)pathProp.get("conn_string");
  //"jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.171.2.131)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = odb) ) )";
  //String url = "jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = odb.micike.com)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = odb) ) )";

  try {
   oracle.jdbc.pool.OracleDataSource ds = new oracle.jdbc.pool.OracleDataSource();
   ds.seturl(http://www.blog007.com/url);
   conn = ds.getConnection((String)pathProp.get("conn_username"), (String)pathProp.get("conn_password"));
   //conn = ds.getConnection("username", "password");
  } catch (Exception e) {
   System.out.println(e);
  }
  return conn;
 }

 

}

 
### 使用 Java JDBC Connection 对象连接到 Oracle 数据库视图 为了使用 `Connection` 对象连接到 Oracle 数据库中的视图,通常需要遵循几个关键步骤来建立连接并执行查询。以下是详细的解释和代码示例。 #### 建立与 Oracle 数据库的连接 首先,确保已经加载了合适的驱动程序,并设置了正确的 URL 来指向目标数据库实例: ```java // 加载 Oracle 驱动程序类 try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) { System.out.println("Where is your Oracle JDBC Driver?"); e.printStackTrace(); } ``` 接着定义用于创建连接字符串的部分参数,包括用户名、密码以及具体的数据库地址: ```java String url = "jdbc:oracle:thin:@localhost:1521:orcl"; // 替换为实际的主机名/IP 和服务名称/端口号 String user = "your_username"; String password = "your_password"; Connection conn; try { conn = DriverManager.getConnection(url, user, password); } catch (SQLException ex) { Logger.getLogger(YourClass.class.getName()).log(Level.SEVERE, null, ex); } ``` 上述代码片段展示了如何初始化一个到本地运行着名为 `orcl` 的 Oracle 实例上的连接[^4]。 #### 查询特定视图的数据 一旦成功建立了连接,则可以通过该连接对象准备 SQL 语句以访问所需的视图数据。这里假设存在一个叫做 `EMPLOYEE_VIEW` 的视图: ```sql SELECT * FROM EMPLOYEE_VIEW WHERE DEPARTMENT_ID = ? ``` 下面是如何利用 PreparedStatement 执行此查询的一个例子: ```java PreparedStatement pstmt = null; ResultSet rs = null; try { String sqlQuery = "SELECT * FROM EMPLOYEE_VIEW WHERE DEPARTMENT_ID = ?"; pstmt = conn.prepareStatement(sqlQuery); pstmt.setInt(1, departmentId); // 设置占位符的具体值 rs = pstmt.executeQuery(); while(rs.next()){ int id = rs.getInt("EMPLOYEE_ID"); String name = rs.getString("NAME"); System.out.printf("Employee ID:%d Name:%s%n",id,name ); } } finally { if (rs != null) try { rs.close(); } catch (SQLException ignore) {} if (pstmt != null) try { pstmt.close(); } catch (SQLException ignore) {} if (conn != null) try { conn.close(); } catch (SQLException ignore) {} } ``` 这段代码不仅显示了怎样构建针对视图的选择查询,还包含了关闭资源的最佳实践——即使发生异常也要确保释放所有打开的对象[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值