版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第详解JDBC的概念及获取数据库连接的5种方式目录一、JDBC概念二、JDBC获取数据库连接的5种方式方式一方式二方式三方式四方式五
一、JDBC概念
JavaDataBaseConnectivity(Java数据库连接技术)它是将Java与SQL结合且独立于特定的数据库系统的应用程序编程接口(API-它是一种可用于执行SQL语句的JavaAPI,即由一组用Java语言编写的类与接口所组成)
JDBC的设计目的:
它是一种规范,设计出来的主要目的是为了让各个数据库开发商为Java程序员提供标准的数据访问类和接口,使得独立于DBMS的Java应用程序的开发成为可能(数据库改变,驱动程序跟着改变,但是应用程序不变)Java设计规范接口,各大数据库产商遵守规范实现,Java程序员不需要考虑实现细节,只需要调用API即可
JDBC工作的基本流程:
一个基本的JDBC工作流程,分为以下几步:
1、加载特定数据库驱动器实现类,并注册驱动器(Driver会注册到DriverManager中)
2、根据特定的URL,返回可以接受此URL的数据库驱动对象Driver
3、使用数据库驱动Driver创建数据库连接Connection会话
4、使用Connection对象创建用于操作sql的Statement对象
5、statement对象.执行sql语句,返回结果ResultSet对象
6、处理ResultSet中的结果
7、关闭连接,释放资源
二、JDBC获取数据库连接的5种方式
方式一
publicclassConnectionTest{
@Test
publicvoidtestConnection1()throwsSQLException{
//获取Driver实现类对象
Driverdriver=newcom.mysql.jdbc.Driver();
//jdbc:mysql:协议
//localhostip地址
//3306MySQL数据库默认端口号
//test需要连接的数据库名称
Stringurl="jdbc:mysql://localhost:3306/test";
Propertiesinfo=newProperties();
//设置连接的用户名和名称,user和password是固定的写法
info.setProperty("user","root");
info.setProperty("passwor","root");
Connectionconnect=driver.connect(url,info);
System.out.println(connect);
}
方式二
publicclassConnectionTest{
@Test
publicvoidtestConnection2()throwsException{
//1.使用反射获取Driver实现类对象
Classclazz=Class.forName("com.mysql.jdbc.Driver");
Driverdriver=(Driver)clazz.newInstance();
//2.提供需要连接的数据库
Stringurl="jdbc:mysql://localhost:3306/test";
//3.提供连接需要的用户和密码
Propertiesinfo=newProperties();
info.setProperty("user","root");
info.setProperty("password","lxq");
//获取链接
Connectionconnect=driver.connect(url,info);
System.out.println(connect);
}
方式二是方式一的迭代,与方式一相比没有出现第三方的API,有较好的移植性
方式三
publicclassConnectionTest{
@Test
publicvoidtestConnection3()throwsException{
//1.使用反射获取Driver实现类对象
Classclazz=Class.forName("com.mysql.jdbc.Driver");
Driverdriver=(Driver)clazz.newInstance();
//2.提供需要连接的数据库
Stringurl="jdbc:mysql://localhost:3306/test";
//3.提供连接需要的用户和密码
Stringuser="root";
Stringpasswor="root";
//4.注册驱动
DriverManager.registerDriver(driver);
//5.获取连接
Connectionconnection=DriverManager.getConnection(url,user,passwor);
System.out.println(connection);
}
使用DriverManager(驱动管理器)替换Driver,DriverManager是jdk提供的一个类,用来完成获取连接的操作
方式四
publicclassConnectionTest{
@Test
publicvoidtestConnection4()throwsException{
//1.提供连接所需信息
Stringurl="jdbc:mysql://localhost:3306/test";
Stringuser="root";
Stringpasswor="root";
//2.使用反射加载驱动
Class.forName("com.mysql.jdbc.Driver");
//3.获取连接
Connectionconnection=DriverManager.getConnection(url,user,passwor);
System.out.println(connection);
}
与方式三相比,方式四省略了如下代码:
Driverdriver=(Driver)clazz.newInstance();
DriverManager.registerDriver(driver);
理由是,在com.mysql.jdbc.Driver类中有如下所示的静态代码块,使用Class.forName()加载这个驱动时就会执行这个静态代码块,实现了注册驱动
static{
try{
DriverManager.registerDriver(newDriver());
}catch(SQLExceptionvar1){
thrownewRuntimeException("Can'tregisterdriver!");
方式五
publicclassConnectionTest{
@Test
publicvoidtestConnection5()throwsException{
//1.获取连接所需信息
InputStreamis=ConnectionTest.class.getClassLoader().getResourceAsStream("perties");
Propertiesinfo=newProperties();
info.load(is);
Stringurl=info.getProperty("url");
Stringuser=info.getProperty("user");
Stringpassword=info.getProperty("passwor");
StringdriverClass=info.getProperty("driverClass");
//2.使用反射加载驱动
Class.forName(driverClass);
//5.获取连接
Connectionconnection=DriverManager.getConnection(url,user,passwor);
System.out.println(c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年上海市生产服务合作联社校园招聘考试模拟试题及答案解析
- 2026天津市机电工艺技师学院事业单位招聘1人(第一批)考试参考题库及答案解析
- 2026江苏南通市工会社会工作者招聘21人考试参考题库及答案解析
- 17.钓鱼教学设计-2025-2026学年小学美术一年级下册人美版(常锐伦、欧京海)
- 2025-2026学年儿歌小鱼摇教案
- 2025-2026学年彩虹的花瓣教案
- 2026四川雅安市宝兴县国有企业工作委员会选聘县属国有企业高级管理人员7人考试备考试题及答案解析
- 2025-2026学年颤音教学设计工作室
- 2026年长岭炼化校园招聘笔试备考题库及答案解析
- 2026年中国邮政集团有限公司江西省分公司校园招聘考试备考题库及答案解析
- 2025年江苏省(专升本)医学综合考试真题及答案
- 吹瓶机调机技术
- 医疗器械体系现场检查整改报告范文
- 矿山地质安全教育培训课件
- 2026年及未来5年市场数据中国腐植酸衍生品行业发展趋势及投资前景预测报告
- 机械加工安全培训资料教学
- 《人工智能导论》课程标准
- 空调机组安装方案
- 成人术后疼痛管理临床实践指南(2025版)
- 智力残疾儿童康复项目知情同意书
- 2026年湖南外贸职业学院单招职业适应性测试题库及完整答案详解1套
评论
0/150
提交评论