例6:总结数据库连接的各种方式

原创 2012年03月21日 10:43:21

下面通过综合的例子来说明各种数据库的连接。

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

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.ConnectionPoolDataSource;
import javax.sql.DataSource;
import javax.sql.PooledConnection;

public class DBCon {

	// 通过JDBC-ODBC桥获得连接
	public static Connection getOdbcCon(String datasourcename, String name,String password) 
throws ClassNotFoundException, SQLException {
		String url = "jdbc:odbc:";
		Connection con = null;
		con = DriverManager.getConnection(url + datasourcename, name, password);
		return con;
	}

	// 通过SQLSERVER的三个驱动,连接SQLSERVER2000数据库
	public static Connection getSQLServerCon(String name, String password)
			throws ClassNotFoundException, SQLException {
		String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433";
		Connection con = null;
		Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
		con = DriverManager.getConnection(url, name, password);
		return con;
	}

	// 通过ORACLE的驱动,连接ORACLE数据库
	public static Connection getOracleCon(String name, String password)
			throws ClassNotFoundException, SQLException {
		Connection con = null;
		Class.forName("oracle.jdbc.driver.OracleDriver");
		// 获得连接 oracle数据库的端口号为:1521 数据服务器的名字叫goudan(作者外号)
		String url = "jdbc:oracle:thin:@127.0.0.1:1521:goudan";
		con = DriverManager.getConnection(url, name, password);
		return con;
	}

	// 通过数据源获得连接
	public static Connection getConnectionFromDataSource(String filePath)
			throws javax.naming.NamingException, SQLException {
		Connection con = null;
		Hashtable env = new Hashtable();
		env.put(Context.INITIAL_CONTEXT_FACTORY,
				"com.sun.jndi.fscontext.RefFSContextFactory");
		Context ctx = new InitialContext(env);
		DataSource ds = (DataSource) ctx.lookup(filePath);
		con = ds.getConnection();
		return con;
	}

	// 通过连接池获得连接
	public static Connection getConnectionFromPooledDataSource(String filePath)
			throws javax.naming.NamingException, SQLException {
		Connection con = null;
		Hashtable env = new Hashtable();
		env.put(Context.INITIAL_CONTEXT_FACTORY,
				"com.sun.jndi.fscontext.RefFSContextFactory");
		Context ctx = new InitialContext(env);
		ConnectionPoolDataSource ds = (ConnectionPoolDataSource) ctx
				.lookup(filePath);
		PooledConnection pc = ds.getPooledConnection();
		con = pc.getConnection();
		return con;
	}
}


java连接oracle数据库连接类(单例模式)

public class DBtest { // 构造私有器 private DBtest(){} // 本类对象实例化 public static DBtest db = new D...
  • h396463735
  • h396463735
  • 2010年10月15日 17:51
  • 1222

从插件中获取资源的几种方式[总结]_FileLocator

方式一: public static URL getFile(String filename) throws IOException {   System.out.println("get fil...
  • cuser_online
  • cuser_online
  • 2012年09月05日 17:05
  • 513

tomcat6 数据库链接配置

      Tomcat 5的数据源配置跟Tomcat 5.5的数据源配置有很多的差别,Tomcat 6的数据源配置跟Tomcat 5.5的配置基本上相同。 以前的Tomcat5的配置需要在serve...
  • sanshou
  • sanshou
  • 2011年02月12日 16:58
  • 2672

javascript 日期Date转化成字符串 的各种方式

  • qq_33017223
  • qq_33017223
  • 2018年02月07日 22:46
  • 9

hbase小结

hbase原理 HBase是一个构建在HDFS上的分布式列存储系统。 在架构上hbase由hmaster和hregionserver组成,他们之间依靠zookeeper进行通信。 在数据模型上由行健、...
  • ukakasu
  • ukakasu
  • 2015年10月24日 11:32
  • 442

【总结】初始化数组的各种方式

来自《Thinking in Java》434;   无论使用那种类型的数组,数组标识符其实只是一个...
  • u012987272
  • u012987272
  • 2014年05月06日 17:58
  • 401

Linux进程间通信各种方式的总结

一个大型的应用系统,往往需要众多进程协作,进程间通信的重要性显而易见。本系列文章阐述了Linux环境下的几种主要进程间通信手段,并针对每个通信手段关键技术环节给出详细实例。为达到阐明问题的目的,本文还...
  • ywcpig
  • ywcpig
  • 2016年09月10日 15:51
  • 439

Java上传各种方式总结

写的很不错,忍不住把人家的文章转载过来,分享给大家 到目前为止:我接触到的有关上传的类型有这么几种 JSP+Servlet的,Struts2的,Struts的,FTP的,ExtJs的,Flex的 ...
  • xiaohan2826
  • xiaohan2826
  • 2013年03月23日 13:21
  • 652

Linux学习总结(29)——CentOS 6和CentOS 7区别总结

centos7与6之间最大的差别就是初始化技术的不同,7采用的初始化技术是Systemd,并行的运行方式,除了这一点之外,服务启动、开机启动文件、网络命令方面等等 1.系统初始化技术 Sysvin...
  • u012562943
  • u012562943
  • 2017年05月03日 10:18
  • 1655

综合布线的6大子系统定义(个人总结学习)

综合布线的6大子系统定义。       1、工作区子系统。是由RJ-45跳线与信息插座所连接的设备组成。2、水平子系统。是从工作区的信息插座开始到管理间子系统的配线架。3、管理子系统。由交连、互连和I...
  • zr000
  • zr000
  • 2007年06月01日 00:05
  • 1676
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:例6:总结数据库连接的各种方式
举报原因:
原因补充:

(最多只允许输入30个字)