- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
问题引入
在java程序中,需要访问数据库,做增删改查等相关操作。如何访问数据库,做数据库的相关操作呢?
Java连接数据库方法概述
java.sql提供了一些接口和类,用于支持数据库增删改查等相关的操作。同时,各个数据库厂商都提供了该jar包中定义的各个接口的实现类,用于具体实现数据库的增删改查操作,即称之为“数据库驱动jdbc driver”。例如mysql的数据库驱动为:com.mysql.jdbc.driver;oracle的数据库驱动为:oracle.jdbc.driver.oracledriver。
在java程序中访问数据库,做数据库连接时,可以采用两种方式:
1、使用java.sql API利用该包提供的各种接口和类访问数据库。
例子:
2、使用数据库连接池C3p0
Apache 的Jakarta DBCP
BoneCP
其中,sping框架依赖的第三方使用了c3p0和dbcp两种方式;而bonecp号称是速度最快的数据库连接池。JNDI方式创建实现的datasource是真正实现了javax.sql.datasource;其他的三种方式都不是。下面的列表,列出了几种方式的区别和不同:
序号 连接池名称 依赖的jar包 实现的datasource类 备注 1 JNDI 该数据源是由相应的web服务器(例如:tomcat,weblogic,websphere)负责初始化,创建,管理。程序中不需要引入特别的jar包。 Javax.sql.datasource 2 C3P0 c3p0-0.9.xxx.jar com.mchange.v2.c3p0.ComboPooledDataSource 3 DBCP commons-dbcp.jar,commons-pool.jar mons.dbcp.BasicDataSource 4 BoneCP
bonecp-0.6.5.jar
· google-collections-1.0.jar
· slf4j-api-1.5.11.jar
· slf4j-log4j12-1.5.11.jar
·log4j-1.2.15.jar
BoneCPDataSource 备注:以上几种方式的数据库连接池的配置参数大同小异,略有差别;其参数的配置,既可以通过配置文件的方式配置,也可以通过硬编码的方式配置。
分别列出几种连接池的编码例子
(所有的例子均可以参考D:\work\qsyworkspace2\jdbctest项目)
使用java.sql API直接访问数据库
详细请参考javasql.java文件。
Class.forName(com.mysql.jdbc.Driver);
String url=jdbc:mysql://localhost:3306/editortest;
String user=root;
String password=123456;
Connection cn=DriverManager.getConnection(url, user, password);
Statement st=cn.createStatement();
String sql=select * from artical where id=1;
ResultSet rs=st.executeQuery(sql);
while(rs.next()){
System.out.println(1:+rs.getString(1));
System.out.println(2:+rs.getString(2));
System.out.println(3:+rs.getString(3));
System.out.println(4:+rs.getString(4));
}
使用JNDI方式
这种方式,是由web服务器,实现了java.sql.datasource。由web服务器负责初始化数据源,创建connection,分配,管理connection。由于本身是由web服务器实现的功能,因此不需要在项目project中引入特别的jar包,但是需要在服务器的某些配置文件中增加相关的配置。下面,以tomcat服务器为例,讲述这种方式的使用。
(1)、修改tomcat的conf下的context.xml文件,增加Resource的配置的支持。
(2)、由于数据源是由tomcat负责创建,所以需要的jdbc驱动应该放到tomcat的lib路径下。
(3)、编写使用java代码,并放在tomcat环境下使用,如下:
public void jnditest(){
// TODO A
您可能关注的文档
最近下载
- EMPOWER 3软件 ApexTrack积分:理论与应用 - Waters ....pdf VIP
- 爱登堡电气原理图及代号说明EDVF23.pdf VIP
- 金山打字通拼音打字教案.pptx VIP
- 卫生监督协管试题库.pdf VIP
- 血液透析患者营养不良的评估与治疗学习.pptx VIP
- 深圳市第十五届职工技术创新运动会暨2025年深圳技能大赛药品微生物检验技能竞赛模拟题.docx VIP
- 人教版(PEP)三年级英语下册期末笔试自我检测题(含答案).pdf VIP
- 人教版2025秋七年级上册英语U3语法 教学设计.doc VIP
- 合规审计员笔试试题及答案.docx VIP
- 消毒学基础理论和终末消毒方法.ppt VIP
文档评论(0)