Javaweb学习笔记7—JDBC技术
今天来讲javaweb的第7阶段学习。
JDBC技术,关于JDBC本篇博客只介绍了它的一部分,后面博客会更加深入探讨.
老规矩,首先先用一张思维导图来展现今天的博客内容。
ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载
另外:如果图看不清的话请右击---在新窗口中打开会清楚很多。

一,概述:
1,定义
各个数据库厂商会遵循SUN的规范提供一套访问自己公司的数据库服务器的API出现。SUN提供的规范命名为JDBC,而各个厂商提供的,遵循了JDBC规范的,可以访问自己数据库的API被称之为驱动!
JDBC是接口,而JDBC驱动才是接口的实现,没有驱动无法完成数据库连接!每个数据库厂商都有自己的驱动,用来连接自己公司的数据库。
2作用:
为多种关系数据库提供统一访问.
* 扩展:早起SUN公司提供的一套访问数据库的规范和协议标准.
3注意:
* 但是不同数据库提供不同的JDBC包.
* 不同数据库的JDBC包到对应数据库官网查找.
二,如何使用JDBC:
1, 导入对应数据库的驱动包.mysql-connector-java-5.1.33-bin.jar
2, 实现操作MySQL数据库的步骤:
a 编写连接MySQL的四大参数.
b 加载MySQL的驱动类.
c 获取MySQL数据库的连接对象
d 向MySQL数据库发送SQL语句.
e 关闭MySQL数据库的相关连接.

三 JDBC的核心类或对象:
1,DriverManager类:
DriverManager类主要用于管理一组JDBC驱动程序的基本服务,它提供了连接到数据库的一种方法。通过Class类的forName("com.mysql.jdbc.Driver")方法来加载数据库驱动程序,通过getConnection()方法获取连接数据库实例对象。
1.1作用:
管理一组 JDBC 驱动程序的基本服务.
1.2 常用方法:
* registerDriver()方法与Class.forName()方法作用一致.
1.3 问题:
1,为什么使用Class.forName()方法?
* 查看Driver类的源代码:
java.sql.DriverManager.registerDriver(new Driver());
* 利用registerDriver()方法与底层代码冲突.

2, 利用Class.forName()方法是否可以忽略?可以
* MySQL提供的驱动包底层自动加载驱动类.
* 注意:当前版本提供机制,其他版本不一定.
* 建议:手动加载MySQL的驱动类.
1.4,常见方法
* getConnection(String url)方法:获取数据库的连接对象.
,2, Connection类
* 作用:用于连接MySQL数据库.
* 常用方法:
* createStatement():获取Statement对象.
* close():关闭连接.
3,Statement类
3.1 作用:
用于向MySQL数据库发送SQL语句.
3.2 常用方法:
* execute()方法:用于向MySQL数据库发送SQL语句.
* executeQuery()方法:执行查询语句.
* executeUpdate()方法:执行增删改语句.
* close()方法:关闭Statement.
* executeBatch()方法:批处理.
4, ResultSet类:
4.1 概述:
* 将查询数据库表得到的结果,封装在一个具有行和列的表格中.
* 结果集具有一个光标,默认指向第一行数据的上一行.
4.2 常用方法:
* 移动光标方法:
* next()
* first()
* last()
* previous()
* relative(int rows)
* absolute(int row)
* 获取字段值的方法:
* getXXX(int i):传递对应角标获取对应的字段值.(XXX表示类型)
* getXXX(String name):传递对应字段名获取对应的字段值.(XXX表示类型)
四、自定义JDBCUtils

Javaweb学习笔记7—JDBC技术的更多相关文章
- JavaWeb学习笔记五 会话技术Cookie&Session
什么是会话技术? 例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客户端是谁,所以需要会话技术识别客户端的状态.会话 ...
- JavaWeb学习笔记总结 目录篇
JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...
- javaweb学习笔记整理补课
javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...
- golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍
golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...
- 【学习笔记】JDBC数据库连接技术(Java Database Connectivity)
一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称.它可以把数据持久保存,是一种持久化机制. 1.持久化 持久化就是将程序中的数据在瞬时状态和 ...
- 【JAVAWEB学习笔记】06_jQuery基础
接05的学习笔记. 四.使用JQ完成省市二级联动 1.需求分析 使用jquery完成省市二级联动 2.技术分析 2.1数组的遍历操作 方式一: $(function(){ // 全选/ 全不选 $(& ...
- javaweb学习笔记(二)
一.javaweb学习是所需要的细节 1.Cookie的注意点 ① Cookie一旦创建,它的名称就不能更改,Cookie的值可以为任意值,创建后允许被修改. ② 关于Cookie中的setMaxAg ...
- Javaweb学习笔记(一)
一.javaweb学习是所需要的细节 1.发送响应头相关的方法 1).addHeader()与setHeader()都是设置HTTP协议的响应头字段,区别是addHeader()方法可以增加同名的响应 ...
- 【JAVAWEB学习笔记】09_MySQL多表&JDBC(包含MySQL数据库思维导图)
今天晨读单词: order:订单constraint:(强制)约束foreign key:外键references:指向orderitem:订单项join:加入resourceBundle:资源捆绑c ...
随机推荐
- PHP Framework MVC Benchmark 基准测试
身边有朋友在用yaf框架,讨论的也声音也比较多,今天没事看鸟哥的博客,看到一篇现在PHP主流的几个框架性能对比,比较有意思,给大家分享一下! Yaf是用PHP扩展的形式写的一个PHP框架,也就是以C语 ...
- c语言中为什么左移不分符号数无符号数,而右移分呢??
因为在C语言标准中,只规定了无符号数的移位操作是采用逻辑移位(即左移.右移都是使用的逻辑左移和逻辑右移).而对于有符号数,其左移操作还是逻辑左移,但右移操作是采用逻辑右移还是算术右移就取决于机器了!( ...
- bzoj3191卡牌游戏——概率DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3191 不用在意每个人的编号,只需看他们相对于庄家的位置即可: 所以设计状态f[i][j]为还 ...
- 用 SDL2 显示一张图片
来源: http://adolfans.github.io/sdltutorialcn/ (中文教程) http://www.willusher.io/pages/sdl2/ (英文教程) 环境:SD ...
- 023--python os、sys、json、pickle、xml模块
一.os模块 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 >>> os.getcwd() 'C:\\Python36' os.chdir(&quo ...
- Swift里计数相关的小细节
Swift里对于字符串这些引入了index型,相对其他语言而言字符操作更安全了,但是问题就是一不注意搞错范围就会有各种离奇的bug. 在讲主题前,先说个小细节. Swift里非常严密的定义了一大堆字符 ...
- bzoj 4403: 序列统计【lucas+组合数学】
首先,给一个单调不降序列的第i位+i,这样就变成了单调上升序列,设原来数据范围是(l,r),改过之后变成了(l+1,r+n) 在m个数里选长为n的一个单调上升序列的方案数为\( C_m^n \),也就 ...
- P5162 WD与积木(多项式求逆+生成函数)
传送门 题解 比赛的时候光顾着算某一个\(n\)的答案是多少忘了考虑不同的\(n\)之间的联系了--而且我也很想知道为什么推着推着会变成一个二项式反演-- 设\(f_n\)为\(n\)块积木时的总的层 ...
- mui 中在windows中打开新页面
<!doctype html><html> <head> <meta charset="utf-8"> <title>& ...
- 进程动态拦截注入API HOOK
最近工作中遇到一个问题,需要通过程序界面进行判断程序的运行状态,刚开始认为很简单,不就是一个窗体控件获取,获取Button的状态和Text.刚好去年干过该事情,就没太在意,就把优先级排到后面了,随着项 ...