JDBC与Oracle数据库连接最常用方法

 

1:直接连接读取数据库内容
 
package com.jzh.DButil;

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

public class DBConnection {
	public static Connection getConnection()
	{
		Connection conn=null;
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			String url="jdbc:oracle:thin:@localhost:1521:oracle";
			String uid = "scott";
			String pwd = "tiger";
			conn = DriverManager.getConnection(url, uid, pwd);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}
	public static void close(Connection conn)
	{
		if(conn==null)
		{
			return;
		}
		try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
	}
	public static void close(Statement stmt)
	{
		if(stmt==null)
		{
			return;
		}
		try {
			stmt.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	public static void close(ResultSet  rs)
	{
		if(rs==null)
		{
			return;
		}
		try {
			rs.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}
2:加载。properties配置文件
package com.neusoft.ums.jing;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class GetConnection {

	
	public Connection getConn()
	{
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");// 返回与带有给定字符串名的类或接口相关联的 Class 对象
			} catch (ClassNotFoundException e) {
		e.printStackTrace();
		}
		Properties p=new Properties();//Properties 类表示了一个持久的属性集
		InputStream in=this.getClass().getResourceAsStream("sql.properties");
		try 
		{
			p.load(in);//加载配置文件
		} catch (IOException e) {
			e.printStackTrace();
		}
		String ip=p.getProperty("ip");
		String port=p.getProperty("port");
		String sid=p.getProperty("sid");
		String user=p.getProperty("name");
		String password=p.getProperty("pass");
		String url="jdbc:oracle:thin:@"+ip+":"+port+":"+sid;
		Connection conn=null;
		try {
			conn = DriverManager.getConnection(url,user,password);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}
	public void close( Connection conn)
	{
		if(conn!=null)
		{
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

}
3:通过数据库连接池
 
 首先要C:\apache-tomcat-6.0.14\conf下配置content.xml文件
	
	
<Resource name="conn/test" auth="Container"	type="javax.sql.DataSource"	maxActive="20"	maxIdel="10"	maxWait="100"	username="scott"	password="tiger"	driverClassName="oracle.jdbc.driver.OracleDriver"	url="jdbc:oracle:thin:@localhost:1521:oracle">
	</Resource>
其次在WEB_INF/web.xml中添加
 
	
 <resource-ref>
  	<res-ref-name>conn/test</res-ref-name>
  			<res-type>javax.sql.DataSource</res-type>
  	<res-auth>Container</res-auth>
 </resource-ref>
最后:
 
	
try {
			Context ct=new InitialContext();
			DataSource ds=(DataSource)ct.lookup("java:comp/env/conn/test");
			Connection conn=ds.getConnection();
			if(conn!=null)
			{
				System.out.println("成功");
			}
		} catch (NamingException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值