小知识,大挑战!本文正在参与“ 程序员必备小知识 ”创作活动
本文同时参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金
👨🎓作者:Java学术趴
💌公众号:Java学术趴
🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。
🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。微信搜索公众号Java学术趴联系小编。
☠️每日毒鸡汤:坚持自己的梦想,即使没有翅膀也能飞翔。
👋大家好!我是你们的老朋友Java学术趴。今天给大家分享一些关于数据库连接的技术,都是现在开发中经常看到的一些技术。比如:jdbc、c3p0等技术。
JDBC(Java Database Connectivity)是一个独立于特定数据库 管理系统、通用的SQL数据库存取和操作的公共接口(一组API) , 定义了用来访问数据库的标准Java类库,( java.sql.javax.sql )使用这些类库可以以一种标准的方法、方便地访问数据库资源。
1.1 JDBC是什么
Java DataBase Connectivity (Java语言来连接数据库)
1.2 JDBC的本质什么
JDBC时SUN公司制定的一套接口(interface) java.sql*;(这个包下有很多的接口)
接口都有调用者和实现者。
面向接口调用、面向接口写实现类,这都属于面向接口的编程。
1.3 为什么要面型接口编程?
解耦合 :降低程序的耦合度,提高程序的扩展力。
多态机制就是非常典型的 :面向抽象编程。(不要面向具体编程)
建议 :
Animal a = new Cat();
Animal b = new Dog();
喂养方法 :
public void feed(Animal d){
// 面向父类编程
}
// 不建议
Dog a = new Dog();
Cat c = new Cat();
1.4 为什么SUN公司制定了一套JDBC接口呢
1.5 JDBC的本质是什么?
一套接口
JDBC编程六步 (需要背)
- 第一步 :注册驱动(作用:告诉Java程序,即将要连接哪个数据库)
- 第二步 :获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的。使用完之后一定要关闭)
- 第三步 :获取数据库操作对象(专门执行sql语句的对象)
- 第四步 :执行SQL语句(DQL、DML...)
- 第五步 :处理查询结果集(只要当第四步执行的是select语句的时候,才有这五步处理查询结果集)
- 第六步 :释放资源 (使用完资源之后一定要进行关闭资源。Java和数据库属于进程间的通信,开启之后一定要进行关闭)
url: 统一资源定位符(网络中某个资源的绝对路径)
URL包括哪几个部分 :
- 协议
- IP
- PORT
- 资源名
http://182.61.200.7:80/index.html
http:// 通信协议 182.61.200.7 服务器IP地址 80 服务器上软件的端口 index.html 服务器上某个资源名
连接mysql数据库的url jdbc:mysql://192.168.1.106:3306/bjpowernode
连接oracle数据库的url jdbc:oracle:thin:@localhost:1521:orcl //orcl为数据库的SID jdbc:mysql:// 协议 192.168.1.106 本机的IP地址 (127.0.0.1或者localhost) 3306 数据库的端口号 bjpowernode 具体的数据库实例名
说明 : localhost和127.0.0.1都是本机的IP地址
重点 :使用DQL语句处理查询集的原理
注意 :光标刚开始时指向0的位置,没有数据,而next判断的则是数据库的下一行还有没有数据。
数据库连接池(C3P0、Druid)
概念: 其实就是一个容器(集合),存放数据库连接的容器。当系统初始化后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。
优点:
- 节约资源
- 用户访问高效
实现:
标准接口 : DataSorce javax.sql包下
-
方法:
- 获取连接:getConnection()
- 归还方法: Connection.close()。 如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会关闭连接。而是归还连接。
-
一般我们不去实现这个数据库连接池,由数据库厂商进行实现。
- C3P0:数据库连接池技术
- Druid:数据库连接技术,由阿里巴巴提供
C3P0连接池
实现步骤:
-
导入jar包(两个) :c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar。不要导入忘记导入数据库驱动jar包。
-
定义配置文件:
- 名称:c3p0.properties 或者 c3p0-config.xml。
- 路径:直接将文件存储到src目录下。
-
创建核心对象:数据库连接池对象(CombopooledDataSourc e)
-
获取连接:getConnection()
-------💘看完的大佬们可以关注一下小编,会一直更新小技巧,免费分享给大家呦!!!💝-----