JDBC 数据库连接池的单元测试

如何模拟 JNDI 对象以便单元测试呢?首先需要加入 tomcat-juli.jar,这个包位于 tomcat/bin 目录下,需要手动复制到 Classpath 中;然后生成初始化上下文对象 InitialContext ,下面就封装了一个方法 JdbcConnection.initIc() ;最后绑定实际数据源对象 DataSource ,源码如下。

private static InitialContext initIc() {
 
	System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.naming.java.javaURLContextFactory");
	System.setProperty(Context.URL_PKG_PREFIXES, "org.apache.naming");

	try {
 
		InitialContext ic = new InitialContext();
		ic.createSubcontext("java:");
		ic.createSubcontext("java:/comp");
		ic.createSubcontext("java:/comp/env");
		ic.createSubcontext("java:/comp/env/jdbc");
		return ic;
	} catch (NamingException e) {
 
		LOGGER.warning(e);
		return null;
	}
}

// 绑定数据源

/**
 * 根据 JDBC Url 创建 MySQL 数据库 JDNI 数据源
 *
 * @param url      像 "jdbc:mysql://localhost:3306/databaseName"
 * @param user     用户名
 * @param password 密码
 */
pub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值