`
dengyll
  • 浏览: 90480 次
社区版块
存档分类
最新评论

连接oracle数据库

阅读更多

1、直接以固定方式写在一个java类里进行连接,例如:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * 封装数据库常用操作
 * @author Administrator
 *
 */
public class DbUtil {
	/**
	 * 取得Connection
	 * @return
	 */
	public static Connection getConnection(){
		Connection conn = null;
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			String url = "jdbc:oracle:thin:@192.168.26.3:1521:bjpowernode";
			String username = "test";
			String password = "test";
			conn = DriverManager.getConnection(url,username,password);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}
	public static void main(String[] arges){
		System.out.println(DbUtil.getConnection());
		
	}
}

2、配合xml配置文件灵活的进行数据库连接(更容易修改)例如:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * 封装数据库常用操作
 * @author Administrator
 *
 */
public class DbUtil {
	/**
	 * 取得Connection
	 * @return
	 */
	public static Connection getConnection(){
		Connection conn = null;		
		try {
			JdbcConfig jdbcConfig = XmlConfigReader.getInstance().getJdbcConfig();
			Class.forName(jdbcConfig.getDriverName());
			String url = jdbcConfig.getUrl();
			String username = jdbcConfig.getUserName();
			String password = jdbcConfig.getPassword();
			conn = DriverManager.getConnection(url,username,password);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}
	public static void main(String[] arges){
		System.out.println(DbUtil.getConnection());
		
	}
}

JdbcConfig.java类(这里面还重写了toString()方法)

/**
 * jdbc配置信息
 * @author Administrator
 *
 */
public class JdbcConfig {


	private String driverName;
	
	private String url;
	
	private String userName;
	
	private String password;

	public String getDriverName() {
		return driverName;
	}

	public void setDriverName(String driverName) {
		this.driverName = driverName;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
	
	@Override
	public String toString() {
		return this.getClass().getName() + "{driverName:" + driverName + ", url:" + url + ", userName:" + userName + ", password:" + password + "}";
	}	
}

XmlConfigReader.java类(读取xml配置信息使用了单例模式)

import java.io.InputStream;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * 采用单利模式解析sys-config.xml文件
 * @param args
 */
public class XmlConfigReader {

//	//饿汉式(预先加载)
//	private static XmlConfigReader instance = new XmlConfigReader();
//	
//	private XmlConfigReader(){
//		
//	}
//	
//	public static XmlConfigReader getInstance(){
//		return instance;
//	}
	
	//懒汉试(延迟加载lazy)
	private static XmlConfigReader instance = null;
	//保存jdbc相关配置信息
	private JdbcConfig jdbcConfig = new JdbcConfig();
	
	
	private XmlConfigReader(){
		SAXReader reader = new SAXReader();
		InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml");
		try {
			Document doc = reader.read(in);
			//取得jdbc相关的配置
			Element driverNameElt = (Element)doc.selectObject("/config/db-info/driver-name");
			Element urlElt = (Element)doc.selectObject("/config/db-info/url");
			Element userNameElt = (Element)doc.selectObject("/config/db-info/user-name");
			Element passwordElt = (Element)doc.selectObject("/config/db-info/password");
			//设置jdbc相关的配置
			jdbcConfig.setDriverName(driverNameElt.getStringValue());
			jdbcConfig.setUrl(urlElt.getStringValue());
			jdbcConfig.setUserName(userNameElt.getStringValue());
			jdbcConfig.setPassword(passwordElt.getStringValue());
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}
	
	public static synchronized XmlConfigReader getInstance(){
		if(instance == null){
			instance = new XmlConfigReader();
		}
		return instance;
	}
	
	//返回jdbc相关配置信息
	public JdbcConfig getJdbcConfig(){
		return jdbcConfig;
	}
	
	public static void main(String[] args) {
		JdbcConfig jdbcConfig = XmlConfigReader.getInstance().getJdbcConfig();
		System.out.println(jdbcConfig);
	}
}

sys-config.xml(配置文件)

<?xml version="1.0" encoding="UTF-8"?>
<config>
	<db-info>
		<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
		<url>jdbc:oracle:thin:@192.168.26.3:1521:bjpowernode</url>
		<user-name>test</user-name>
		<password>test</password>
	</db-info>
</config>
分享到:
评论

相关推荐

    ThinkPHP连接Oracle数据库

    本文给大家介绍的是如何使用thinkphp连接Oracle数据库的方法和详细步奏,并附上实例,非常的实用,有需要的小伙伴可以参考下

    java连接oracle数据库jar包

    java连接oracle数据库jar包

    Shell脚本连接oracle数据库的实现代码

    linux 环境需要用 sqlplus 客户端去连接oracle 数据库,首先我们需要确认有没有安装:which sqlplus如果没有安装就需要先安装一下,安装步骤如下: 到oracle 官网下载,之后安装以下两个模块: rpm -ivh oracle-...

    python连接oracle数据库实例

    主要介绍了python连接oracle数据库的方法,实例讲述了连接Oracle数据库的具体步骤及常见的问题,需要的朋友可以参考下

    ThinkPHP 连接Oracle数据库的详细教程[全]

    最近收集了一些关于THinkPHP连接Oracle数据库的问题,有很多朋友按照连接mysql的方法来操作,导致有一些方法在Oreale中无法正常使用

    unity连接oracle数据库

    unity连接oracle的简单方式,需要注意的是unity版本需要2017以上版本,并且在playersetting里面设置脚本版本为4.6,文件里包含需要的dll文件以及测试类

    C#连接oracle数据库实例

    C#利用Oracle.ManagedDataAccess.dll连接oracle数据库,实现数据库查询和修改功能。完整的.Net4.0项目。

    易语言连接Oracle数据库

    需要本机安装oracle客户端,存在oracle驱动才可以连接成功,同时用到的组件有:数据库连接、记录集

    VB连接Oracle数据库

    摘要:VB源码,数据库应用,Oracle VB连接Oracle数据库,Oracle数据文件在Data目录中,不懂得使用VB如何连接Oracle的朋友,可参考本实例中的代码。Oracle是一种大型数据服务器,有着非常好的性能,在VB中使用Oracle,...

    初学SpringCloud连接Oracle数据库

    初学SpringCloud简单配置Oracle数据库,从Oracle数据库中获取数据

    ArcCatalog连接ORACLE数据库.doc

    ArcCatalog连接ORACLE数据库.doc

    cmd 远程连接oracle 数据库

    如何用cmd连接数据库,这个问题困扰了我很长时间,现在解决啦 我很开心

    python连接Oracle数据库所需要的文件

    python连接Oracle数据库所需要的文件,需要将这些.dll文件放到python解释器如下目录:Lib-&gt;site-packages。

    VS2015连接Oracle数据库的详细步骤

    宿主机:Win10 + VS2015 + ODP.Net for VS2015 虚拟机:Win7 + Oracle 11g + 桥接 配置ODP.Net 首先下载 Oracle Developer Tools for Visual Studio 2015 ,下载此文件需要注册Oracle社区账号并接受相关的协议,此...

    jdbc连接oracle数据库功能示例

    主要介绍了jdbc连接oracle数据库功能,结合实例形式详细分析了java基于jdbc连接Oracle数据库的具体操作步骤与相关实现技巧,需要的朋友可以参考下

    windows连接oracle数据库客户端文件

    在windows系统上使用python连接oracle数据库的时候,除了需要安装python所需要的依赖库之外,还需要安装oracle数据库的客户端驱动,该文件版本为11.2.0.4.0,支持64位系统,不需要安装,只需要解压将解压后的文件...

Global site tag (gtag.js) - Google Analytics