今天来讲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技术的更多相关文章

  1. JavaWeb学习笔记五 会话技术Cookie&Session

    什么是会话技术? 例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客户端是谁,所以需要会话技术识别客户端的状态.会话 ...

  2. JavaWeb学习笔记总结 目录篇

    JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...

  3. javaweb学习笔记整理补课

    javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...

  4. golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍

    golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...

  5. 【学习笔记】JDBC数据库连接技术(Java Database Connectivity)

    一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称.它可以把数据持久保存,是一种持久化机制. 1.持久化 持久化就是将程序中的数据在瞬时状态和 ...

  6. 【JAVAWEB学习笔记】06_jQuery基础

    接05的学习笔记. 四.使用JQ完成省市二级联动 1.需求分析 使用jquery完成省市二级联动 2.技术分析 2.1数组的遍历操作 方式一: $(function(){ // 全选/ 全不选 $(& ...

  7. javaweb学习笔记(二)

    一.javaweb学习是所需要的细节 1.Cookie的注意点 ① Cookie一旦创建,它的名称就不能更改,Cookie的值可以为任意值,创建后允许被修改. ② 关于Cookie中的setMaxAg ...

  8. Javaweb学习笔记(一)

    一.javaweb学习是所需要的细节 1.发送响应头相关的方法 1).addHeader()与setHeader()都是设置HTTP协议的响应头字段,区别是addHeader()方法可以增加同名的响应 ...

  9. 【JAVAWEB学习笔记】09_MySQL多表&JDBC(包含MySQL数据库思维导图)

    今天晨读单词: order:订单constraint:(强制)约束foreign key:外键references:指向orderitem:订单项join:加入resourceBundle:资源捆绑c ...

随机推荐

  1. jsp重写url

    众所周知,使用java web编程出来的网站都是.jsp结尾的,而别人的网站都是以.html结尾的,那么这种效果是怎么实现的呢?就是这篇文章产生的原因,jsp重写url需要设计到第三方架包urlrew ...

  2. poj 2185 Milking Grid(next数组求最小循环节)

    题意:求最小的循环矩形 思路:分别求出行.列的最小循环节,乘积即可. #include<iostream> #include<stdio.h> #include<stri ...

  3. OpenCV坐标系与操作像素的四种方法

    像素是图像的基本组成单位,熟悉了如何操作像素,就能更好的理解对图像的各种处理变换的实现方式了. 1.at方法 第一种操作像素的方法是使用"at",如一幅3通道的彩色图像image的 ...

  4. (转)Excel自定义格式详解

    ”G/通用格式”:以常规的数字显示,相当于”分类”列表中的”常规”选项.例:代码:”G/通用格式”.10显示为10:10.1显示为10.1. 2. “#”:数字占位符.只显有意义的零而不显示无意义的零 ...

  5. 使用strtok_s函数从一个字符串中分离出单词

    下面的代码从含有多个结束符的字符串中分离出单词来,需要对strtok_s有清楚的认识.这段代码是我在写一个处理文件中单词个数时用来分离读取到的字符串中的单词时写的,亲测可用~ 1 2 3 4 5 6 ...

  6. sublime 插件:Emmet

    Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,比如下面的演示: ...

  7. Hackerrank: Week of Code 36

    Cut a Strip 题目简述:给定$n \times m$的矩阵$a[][]$,要求选择一个$x \times 1(1 \leq x \leq k)$的(连续)子矩阵并清零后,找到最大和的(连续) ...

  8. Java 8的Lambda学习

    参考资料:https://www.dotnetperls.com/lambda-java Lambdas用于创建函数对象.通过它们,我们可以在其它方法内部指定方法,甚至可以把方法做为参数传递给其它方法 ...

  9. 洛谷 P2296 寻找道路【bfs+spfa】

    反向建边bfs出不能到t的点,然后对每个能到这些点的点打上del标记,然后spfa的时候不经过这些点即可 #include<iostream> #include<cstdio> ...

  10. 洛谷P3825 [NOI2017]游戏(2-SAT)

    传送门 果然图论的题永远建图最麻烦……看着题解代码的建图过程真的很珂怕…… 先不考虑地图$x$,那么每一个地图都只能用两种赛车,于是我们可以用2-SAT来搞,用$i$表示这个地图能用的第一辆车,$i' ...