设为首页 加入收藏

TOP

事务、连接池、开源数据源(DBCP、C3P0)(二)
2014-11-24 03:16:06 来源: 作者: 【 】 浏览:2
Tags:事务 连接 开源 数据源 DBCP C3P0
ansactionIsolation=REPEATABLE_READ
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSourceFactory;

public class DBCPUtil {
	private static DataSource dataSource;
	static{
		try {
			InputStream inStream = DBCPUtil.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
			Properties props = new Properties();
			props.load(inStream);
			dataSource = BasicDataSourceFactory.createDataSource(props);
		} catch (Exception e) {
			throw new ExceptionInInitializerError("初始化数据库配置文件失败");
		}
	}
	public static Connection getConnection() throws SQLException{
		return dataSource.getConnection();
	}
}



2、C3P0
发行包\lib\全考

c3p0-config.xml配置文件:文件名是固定的写法

< xml version="1.0" encoding="UTF-8" >

	
		com.mysql.jdbc.Driver
		jdbc:mysql:///day16
		root
		sorry
		15
		20
		5
		200
	
	

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

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class C3P0Util {
	private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
	
	public static Connection getConnection() throws SQLException{
		return dataSource.getConnection();
	}
}



3、用服务器提供的数据源的配置(具体参考服务器的文档)
以Tomcat为例(用的就是DBCP)
a、拷贝数据库驱动jar到Tomcat\lib目录下
b、在你应用的META-INF目录下建立一个context.xml配置文件
< xml version="1.0" encoding="UTF-8" >


maxActive="100" maxIdle="30" maxWait="10000" username="root"
password="sorry" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/day16" />



c、重新启动Tomcat,服务器就按照配置创建好了数据源,在JNDI容器中。
JNDI:JavaEE技术之一。Java Naming and Directory Interface
(就是一个Map,Map的key是一个String,是一个目录, value就是绑定的对象。 类似Window系统的注册表)
API存在JDK的javax.naming.*包中。

d、在Tomcat管理的web应用中才能使用,不能在main方法中运行,不是同一个虚拟机
Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/day16");
Connection conn = ds.getConnection();

import java.sql.Connection;

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

public class JndiDsTest {
	//和Tomcat不是一个虚拟机
	public static void main(String[] args) throws Exception {
		Context initContext = new InitialContext();
	   	DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/day16");
	   	Connection conn = ds.getConnection();
	   	System.out.println(conn);
	}

}

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MongoDB的增删改-创建 更新 删除.. 下一篇数据源的作用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)
·labview中tcp/ip通信 (2025-12-25 05:19:13)
·新书介绍《Python数 (2025-12-25 04:49:47)
·怎么利用 Python 进 (2025-12-25 04:49:45)