java datasource使用_DataSource 使用方法
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:@”);
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:@”);
basicDataSource.setUsername(“user”);
basicDataSource.setPassword(“password”);
Connection connection=basicDataSource.getConnection();
结合JNDI的DataSource
以tomcat为例,将数据库驱动库复制到{tomcat}/commmon/lib目录下。
配置{tomcat}/conf/context.xml文件,加入:
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”);
配置内容也可以加到webapp/META-INF/context.xml文件中,这样更便于打包部署。
分享到:
2011-03-03 14:26
浏览 2543
评论
java datasource使用_DataSource 使用方法相关推荐
- java Datasource,数据库连接池
java Datasource,数据库连接池 目前有多重方式创建数据库连接池:JNDI,DBCP,C3P0等 为什么需要连接池: 使用java API DriverManager.getConnect ...
- Java通过DBCP连接池方法实现JDBC代码案例
Java和大数据系列 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等 ...
- eclipse java调用c 代码吗_linux下通过eclipse开发用java调用c程序的方法
linux下通过eclipse开发用java调用c程序的方法: 1.先建立好java工程并建立java文件如下: public class testso { static { ...
- java类的注释模板_IDEA添加Java类注释模版的方法
本文介绍了idea添加java类注释模版的方法,分享给大家,具体如下: idea版本:intellij idea 2017.2.5 x64 eclipse能在类上方输入/**,回车添加类注释模版,但i ...
- cloning java_深入浅出Java中的clone克隆方法,写得太棒了!
作者:张纪刚 blog.csdn.net/zhangjg_blog/article/details/18369201/ 2019-03-24 10:33:04 Java中对象的创建 clone 顾名思 ...
- java如何用c 的方法_JAVA如何调用C/C++方法
JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能.解决JAVA对本地操作的一种方法就是JNI. JAVA通过JNI调用本地方法, ...
- java多线程中的join方法详解
java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...
- Java高级特性:clone()方法
标签:ringbuf his 硬件 throws port protect 序列化 ext this 目录 源码 深拷贝和浅拷贝 对象串行化实现拷贝 常见面试题 源码 ...
- https Java SSLException protocol_version的问题解决方法
https Java SSLException protocol_version的问题解决方法 参考文章: (1)https Java SSLException protocol_version的问题 ...
- Java报异常时getMessage()方法返回null
Java报异常时getMessage()方法返回null 参考文章: (1)Java报异常时getMessage()方法返回null (2)https://www.cnblogs.com/runnin ...
最新文章
- 经典SQL语句大全(提升篇)
- 关于可观察性的三大支柱,你应该了解这些
- 神策数据荣获“2017年度中国双创好项目”奖项
- GitHub Pages和每个项目绑定自定义域名(支持多个和顶级域名)
- [Kafka与Spark集成系列一] Spark入门
- linux删除git账号密码忘记了,linux清除git账号密码
- Dubbo作者亲述:那些辉煌、沉寂与重生的故事 1
- 使用kafka解决zookeeper is not a recognized option when executing kafka-console-consumer.sh报错
- python模块的使用方法_python中requests模块的使用方法
- kali linux操作系统
- python变量作用域图解_图解python全局变量与局部变量相关知识
- 如何在CAD中输入带圈序号?
- GIS电力平台功能需求
- 阿里巴巴矢量图库的具体使用用法可以变色改变大小
- 挑战年薪50万不是梦,你要的高级架构师课程来袭!
- java基础—输入/输出
- 佩尔方程(超详细推导+例题讲解) 每日一遍,算法再见!
- axure键盘弹出_AxureRP实现键盘交互效果
- Linux C/C++源码实现常见命令mkdir
- LayUi 折叠表格
热门文章
- CSS中的em运用详解,1em等于多少像素?
- 虚拟化技术原理(CPU、内存、IO)
- hdu3966-线段树
- Python 使用 OpenCC 实现中文简繁转换
- 新安装Win10操作系统有必要设置的几个技巧
- java猜拳_java实现猜拳小游戏
- [cf] Deltix Round, Autumn 2021 A. Divide and Multiply
- 天下一品茗介绍:小户赛茶叶的特点是什么
- OpenBSD 7.2版发布 新增苹果M2芯片和高通骁龙8cx芯片组的支持
- 与计算机相关的创意网名,过目不忘创意好听网名