JavaEE——JDBC

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

JDBC

什么是jdbc,Java连接数据库的API。Jdbc全称:Java DataBase Connection Java数据库连接。什么叫Java数据库连接API呢?

因为jdbc是Java连接数据库的规范制定,jdbc是规范。而实现类则由各数据库厂商来支持。来实现jdbc API。将麻烦的事情交给数据库厂商去完成。

所以jdbc是规范,不是实现。是Java连接数据库的规范。每个数据库都不一样,就需要找每个即熟悉自己的数据库,又熟悉Java的人。所以这项工作由自己来做就太麻烦了。

这jdbc API有聚集哪些功能呢?这些功能都聚集在一个个的接口上。我们不操作数据库厂商的直接的实现子类,而是由接口去获得操作对象去,方法什么的都在接口上。我们调用接口

有哪些接口呢?

1:驱动管理员->创建->

2:连接对象->创建

3:[SQL执行对象,预处理执行对象,存储过程调用对象] ->含有

4:记录集对象,记录集结构对象

代码:

找数据库驱动,搜索对应的jar包,jar包是连接数据库的驱动

驱动包已经找到了

通过driveMangger创建连接对象:

driveMangger.getConnection获得数据库连接对象

驱动管理员是管理驱动包的,我们已经找到驱动包了,我们找管理员要连接对象。管理员与驱动之间如何洽谈的我们不关心。

管理员得到连接对象,管理员就需要与驱动对话,驱动要求要有参数:URL,user,password

User与password是拿去连接数据库的身份验证,而URL是告诉驱动你的连接目标在哪里

而URL包含3个部分:协议,ip+port,库名字

协议是告诉驱动管理员,我要加载这个数据库驱动,协议的规范是jdbc:驱动命名。最后驱动管理员会找到MySQL的驱动类,因为我们引入jar包了。如果这个名字我们乱填,驱动找不到,会报错说找不到驱动。

剩下的参数连接是数据库的要求参数了,连接对象,身份验证。3个参数,分成2个部分,一个是告诉驱动管理员去加载哪个驱动。一个是告诉驱动带着参数连接到指定目标。

在满足有驱动包的情况下,从驱动管理员获得数据库连接对象。驱动管理员根据URL的协议找到驱动包,驱动包连接数据库。因为实现类都在驱动身上。Jdbc是规范。

拿到了连接对象,就等于是得到了Java与数据库的连接对象,这个连接对象可以帮我们去执行SQL语句。

执行SQL:

拼接SQL语句,从Connection创建出Statement对象,Statement是负责执行处理SQL语句的。SQL语句分2类,更新语句与查询语句,更新语句包括update,insert,delete

返回int影响的执行行数:

记录已经被插入到数据库之中

不用了关闭连接对象,jdbc的实现者,一般是采用tcp不断开的安全的传输连接。连接比较耗时,并且也会占系统资源。所以不用了要关闭连接对象。

Jdbc Java数据库连接规范,Java出规范,厂商做实现,我们只需要掌握指定规范的接口即可。实现类由厂商去实现。我们不需要也不用直接操作实现类,由接口获得实现类的接口并操作。

在以前,我们在操作driveMangger驱动管理员对象时,还需要先加一句话,Class.forName(“com.mysql.jdbc.Drive”)我们需要先加载这个drive类

当我们加载哪个类时,这个类中有一个静态块,当我们去触碰这个静态块时,drive就将自己的驱动注册到driveMangger之中。我们在从driveMangger拿连接对象

可以不使用forName,可以实例化可以调用成员,只要触碰到类,则第一次加载静态块,将自己注册到驱动管理员之中。我们找驱动管理员时,驱动管理员就根据URL的协议与自己容器中的驱动类做比较,假设协议jdbc:mysql,我们forname加载mysql的drive,则驱动管理员根据协议找到自己容器中的MySQLDrive,找到了我们就能操作了。

过程是这样的,我们加载drive,drive静态块将自己注册到驱动管理员中,驱动管理员根据协议与自己容器中的驱动类去判断有没有你要连接的驱动类。如果有则可以操作了,没有就报错没有找到这个驱动。

现在不需要写forname了,直接就自己自动挂载到驱动管理员之中了。

打开jar包,找到meta-inf包,找到service服务包,里面有个driver说明,里面记录了驱动drive类。当我们运行工程时,就自己将这个类加载起来了,不需要我们在手动加载了。驱动已经可以自动加载在类上了。

Java连接MySQL数据,还可以这样写:

Jdbc:mysql:///库、中间/表示本地地址与3306默认端口

Jdbc:mysql:localhost:3306/库

jdbc:mysql:localhost:3306/库?characterEncoding=utf-8还可以传递参数

当然MySQL支持这种写法,不表示所有数据库连接驱动都支持,每个驱动可能实现都不一样

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 31,790评论 2 89
  • JDBC基础知识 一、采用JDBC访问数据库的基本步骤: A.载入JDBC驱动程序 B.定义连接URL ...
    java日记阅读 3,763评论 0 20
  • 009期3D海岸看 组号条件: 三胆出1-2个: 349-39 独3防9 五行胆拖: 258拖0134679 看夸...
    金海岸_aef4阅读 280评论 0 0
  • 不得不说,2017的最大收获之一,认识萌姐,这还是源于我加入努力过好每个月的趁早微信群,其中有一位是40岁的大姐,...
    海豚的世界_0820阅读 276评论 0 0
  • 昨天回老家割了一把韭菜,冰箱里和了两天的面团,看完电视,抢完公司发的庆贺红包,才准备包饺子。 鸡蛋细粉饺子馅,薄皮...
    枯藤残鸦阅读 709评论 3 3