datasource的应用方案
来源:互联网 发布:qq影音 mac 编辑:程序博客网 时间:2024/06/05 17:52
来源:http://marshal.easymorse.com/archives/425 (收藏)
DataSource接口(javax.sql.DataSource)替代DriverManager获取Connection的方法,有以下好处:
- 可以在部署时灵活更换Connection实现;
- 可以更好的屏蔽数据库的相关性。
以下以oracle为例说明。
使用厂商DataSource (曾看到一贴说该方法技术不成熟,未验证,求高人)
数据库厂商在提高JDBC2.0和以上版本的JDBC驱动中应该包含厂商的DataSource实现。
OracleDataSource ods = new OracleDataSource();
ods.setUser(“my_user”);
ods.setPassword(“my_password”);
ods.setURL(“jdbc:oracle:thin:@<database>”);
Connection conn = ods.getConnection();
第三方DataSource
第三方厂商也可提供DataSource实现,比如免费开源的有DBCP,C3P0和proxool等,中间件厂商比如ibm的websphere,bea的weblogic等也都有实现。
以下是DBCP的示例:
BasicDataSource basicDataSource = new BasicDataSource(); basicDataSource.setDriverClassName(“oracle.jdbc.OracleDriver”); basicDataSource.setUrl(“jdbc:oracle:thin:@<database>”); basicDataSource.setUsername(“user”);basicDataSource.setPassword(“password”); Connection connection=basicDataSource.getConnection();
结合JNDI的DataSource
以tomcat为例,将数据库驱动库复制到{tomcat}/commmon/lib目录下。
配置{tomcat}/conf/context.xml文件,加入:
<Resource name=”jdbc/demo” auth=”Container” type=”javax.sql.DataSource”
driverClassName=”org.apache.derby.jdbc.ClientDriver”
url=”jdbc:derby://localhost:1527/demo”
username=”test”
password=”test”
maxActive=”2″
maxIdle=”1″
removeAbandoned=”true”
maxWait=”300″ />
在程序中访问DataSource:
Context initContext = new InitialContext();
// 注意: 以下写法只适用于tomcat(java:/comp/env).
Context envContext = (Context) initContext.lookup(“java:/comp/env”);
dataSource = (DataSource) envContext.lookup(“jdbc/demo”);
- datasource的应用方案
- DataSource超高级应用——对DataSource的合理封装
- DataSource高级应用
- DataSource高级应用
- 动态代理在JDBC的DataSource中的应用
- WiFi的无线应用方案
- DataSource 的探讨
- 获取Datasource的DataBase
- Spring的dataSource配置
- Delphi的DataSource事件
- DataSource 的理解
- UITableView的数据源(dataSource)
- Mybatis的数据源 DataSource
- 数据库连接datasource的配置
- Spring的DataSource配置
- 应用通过JNDI访问WAS数据源时Spring中datasource初始化失败问题的解决办法
- DataSource
- DataSource
- D-Link dir-618、619双路由 wds扩展无线网络覆盖范围
- struts2 + jquery + json 进行ajax请求 .
- 拒绝了对对象 'XXX' (数据库 'XXX',架构 'dbo')的 SELECT 权限
- IE=EmulateIE7
- 异步编程:线程概述及使用
- datasource的应用方案
- Android - LayoutInflater
- 从缓冲上看阻塞与非阻塞socket在发送接收上的区别
- 真实案例谈宅男玩撸X"真.三国无双"的危害,望大家重视
- java密码的加密与解密(3des)
- cluster 中的 sql node 和 单独的 sql server 做主从复制,数据无法同步(已解决)
- IOS 后台执行
- android4.1中的UI平滑技术
- 各种字符串hash函数