context类 java_java使用InitialContext以及JDBC 工具类库

今天在看一个小的项目时候,第一次见到InitialContex这个类,感觉好神奇,他的一个方法loookup()似乎好牛逼,于是网上查了查,原来是与JNDI有关的一个类,由javax提供,详细的使用我也不是很明白,没有使用过,简单的使用还是能够明白的,下面就依据我遇到的小实例分析:

1、首先配置数据源以及数据库驱动,这个必须啊,否则,在牛逼的类也找不到你的数据源;

2、配置数据源:在tomcat的context中进行配置;

3、然后,在你的项目使用InitialContext这个类便可以了:

Context  initContext = new InitialContext();

DataSource ds =  initContext.lookup(dataSourceName);

4、 这样你的数据源便被找到了,你就可以直接使用ds了;

使用InitialContext加载的数据源之后,你可以下载 Apache 组织提供的一个开源 JDBC 工具类库;这个类库的方法,看上去使用和Hibernante多少有些类似,悲哀的是这个依然不是面向对象的操作数据库,下面介绍这个类库:

1、QueryRunner qr = new QueryRunner(ds);

2、得到QueryRunner之后,便可以调用这个类库中的方法了,依照参数传值就可以;

一个详细的利用InitialContext以及JDBC 工具类库的代码如下:

前提是你数据源已经配置,有相关数据库的驱动,你可以将这个代码作为工具来;

package com.cjg.tool;

import java.sql.SQLException;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import javax.sql.DataSource;

import org.apache.commons.dbutils.QueryRunner;

import org.apache.commons.dbutils.ResultSetHandler;

public class OracleTool {

private String dataSourceName;

private DataSource ds;

public OracleTool(String dataSourceName) {

this.dataSourceName = dataSourceName;

}

public OracleTool() {

}

public void setDataSourceName(String dataSourceName) {

this.dataSourceName = dataSourceName;

}

public void init() {

Context initContext;

try {

initContext = new InitialContext();

ds = (DataSource) initContext.lookup(dataSourceName);

} catch (NamingException e) {

e.printStackTrace();

}

}

public int update(String sql, String[] param) {

int result = 0;

QueryRunner qr = new QueryRunner(ds);

try {

result = qr.update(sql, param);

} catch (SQLException e) {

e.printStackTrace();

}

return result;

}

public Object query(String sql, String[] param, ResultSetHandler rsh) {

QueryRunner qr = new QueryRunner(ds);

Object result = null;

try {

result = qr.query(sql, param, rsh);

} catch (SQLException e) {

e.printStackTrace();

}

return result;

}

}

1、修改Tomcat_Home/conf/server.xml,在GlobalNamingResources中加入:

2、再在Context中加入引用:

如果不加,则在使用的时候会出现:Cannot create JDBC driver of class '' for connect URL 'null' 错误

3、在web.xml定义:

popuserDataSourcejdbc/DataSourcejavax.sql.DataSourceContainer

4、在Spring中引用:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值