当前课程知识点:Web后端开发技术 > 第8章 JDBC > 8.2 JDBC API访问MySQL基本步骤 > 8.2.1 JDBC API
同学你好
今天我们学习这个知识点
我们来讲一下
用JDBC访问我们MySQL的一些基本步骤
首先我们要准备我们的基本的环境
我们首先要下载我们的MySQL
这样的服务器
好
方法很简单
大家百度里搜索MySQL
点击搜索
你就能看到MySQL的官网
点击进去
因为我这里网速比较慢
我直接都已经打开了
那么找到这个页面以后
大家可以看到这就是
MySQL的官方网址
可以点击download这个按钮
点击完以后就会进入到它的下载页面
那么在下载页面我们拉到最底下
他这里有一个叫做MySQL的社区版本的下载
我点击进去再点击进去
就会进入到我们这样的一个页面
在这个页面下面大家可以点击
MySQL社区版的服务
然后点download
download就会进入到我们的页面
我们的真正下载页面了
那么在这个页面的最底下
我们选择我们的平台
我这里选择的是windows平台
然后在这里点击注意
不要选择我们的这俩源码包下载
在这块点击gotodownload的page
那么就会到我们的真正的下载页面了
在这个页面里面我们选择
MySQL installer community
这样的一个版本
他的版本是8
那么注意32位无所谓
因为在这个文档上面已经说明了
它的32位完全能够在64位上运行
也就是他实际上就是32位和64位
兼容的版本
大家不要选顶上这个
这个是Web community
然后download就会进入下载
下载完以后大家双击
然后一路下一步进行安装就可以了
基本上没有任何的可选择的余地
大家直接一路下一步安装就可以了
好
这时候就是我们的
MySQL的安装
那么安装完MySQL以后
我们java要想跟MySQL
进行连接
得下载一个java版的这么一个驱动
所谓的驱动实际上就是一个jar文件
那么这个jar文件大家同样也可以在
百度里搜索MySQL
JDBC这样的关键字
点击百度一下
那么大家可以看到这第2项实际上也
实际上也是我们My SQL的官方网址
点进去以后就会进入到
还是我们download页面里面有一个叫做
Connector
其实在这里大家也可以搜索到
导航栏里可以搜索到
我们选择的是connetor java
那么在这里面我们进行选择的时候
我们一定要选择与平台独立的叫
platform Independent
这样的平台
独立的这么一个java文件
那么这里我们选择zip格式的就
可以了
点击download大家可以看到
这个版本也是8版本的
那么当落了下来以后
我这里已经保存到我的桌面上了
这就是我们的驱动文件
好
紧接着我们还需要一个MySQL的客户端
这个客户端同样也是大家可以在百度
里输入NAVACAT这样的一个客户端
MySQL所有的客户端有很多
大家可以根据自己的爱好去选择
那我这里选择的是这款客户端
下载下来以后
同样也是一路下一步
没有任何的配置就可以安装好了
那么当我们SQL所有的服务
我们的驱动
还有我们的客户端准备好了以后
我们就可以正式进入到我们的开发当中
那么这里面我新建一个项目
这个项目我是注意
这里我没给大家建动态的外部项目
而是建一个java项目
主要是学习我们的java怎么去跟
MySQL数据库进行交互
所以说这个protect我们选择
Java project
好
我叫做chapter seven
然后JDBC
Finsh
那么我在JDBC当中
我新建一个folder
我叫做leg这样一个目录
把我刚才下载好的驱动Ctrl C
然后Ctrl V拷贝到我们的lib目录里面
然后在这里面我们点击右键
Properties
有一个Java build path
我们把我们当前JDBC驱动
给加载到我们的环境class pass的变量当中
这样就有一个我们可以用的这样的
一个liabary
好
那么
当然还可以打开这个客户端
打开客户端的时候默认是没有的
我现在要删除掉
大家可以点击连接
随便起一个连接名
比如说jjq那么我的主机的IP
地址就在我本机就是localhost
端口默认是3306
用户名是你安装的时候
如果你默认的用户名就是root
安装的时候会让你输入一个root密码
那么我这里的是123456
大家可以在这测试一下
如果成功了就没有问题
点击确定
大家可以看到这就是我的连接方法
连接完以后有一个连接名叫jjq
双击就可以打开看到我这里默认的
MySQL给我们提供了
有这么几个库
好了
那么紧接着我们就来一个
java程序
我们叫做这个包我给他放在com.HBUN下面
我们叫做JDBC 1 第1个
然后我们加入一个主方法
那么在写JDBC程序的时候
我们大概需要这么几步
第1步我们需要去注册驱动
那么这个注册驱动里面会有一个驱动
驱动的字符串的名称
大家不用去记
大家只是知道
第1步我们需要注册一个驱动
那么不同的数据库
它这块的驱动的字符串是不一样的
也就驱动类是不一样的
那么我们MySQL的最新版本是它
如果大家用的是My SQL5的版本
大概它的驱动类型应该是这个样子的
大家注意一下
我们现在用的版本是MySQL 8的版本
它的注册驱动是不一样的
那么他会抛出一个异常
为了代码的演示方便可读性
因为这里我们并不处理异常
所以说我都给它抛出去
这样的话就没有这样的异常信息了
这是注册我们的驱动
第二一步就是要显示我们的
获取我们的链接
通过我们URL用户名和密码
所以说Ctrl C Ctrl V
我们有一个叫做连接的类叫做
connection这么一个类
他在java.servlet这个包下
那么我们可以通过另外一个类叫做
DriverManager
叫做Driver的驱动来获取到我们的一个
来获取到我们的一个连接
这个就表示和MySQL
连接的这么一个对象
那么它需要传这么几个参数
第1个叫做url
url同样也是很复杂
很长
那么我们也不用去记
如果大家忘了
你可以在百度里输入
MySQL8 url这样的关键字
网上就会有你可以粘贴过来
那么我这里已经准备好了
这一长串我先拷贝过来给大家
解释一下什么意思
不用记这个东西
记也记不住的
好
那么首先这里都不要变
这里是你MySQL服务的IP地址
因为在本机就是local host
那么默认端口号是3306
那么这个word是我MySQL 里面的库
你连接哪个库
这里MySQL有一个
word库
它默认提供的
如果你连接其他的库
你就把这个word给改掉就可以了
然后后面这些参数
大家都可以不用去改
usessl表示是不是这种加密方式
ssl的加密方式
然后我的服务器的时间区域
我用的是UTC的这样一个时间区域
这些东西你都可以不用改
所以说实际上我们改的只是
它的IP地址要不要变
我连接到哪个库上用不用变
好
那么我要提供MySQL的
用户
那么就是root
那么我当前的MySQL
密码就是123456
这样的话如果能正确的获取到这个
连接的话
大家可以看到
我就可以把这个连接对象给他
输出出来
比如说叫做CEO
好
我们首先先运行一下
run java applicaton
可以看到这个连接对象就已经输出来
这时候就说明我跟我的数据库已经
正常连接上了
那么当连接上了以后
下一步我就是要跟我数据库做相关的
增删改查的操作
比如说我现在在word里面
我有一张student的表
表是我自己建的
如果大家没有的话
也可以我先给它删除掉吧
我们一起来建一个新建表
好
比如说我们的表一般都会有一个ID
那么ID的类型就是int
那么我们把它选成自动增长
并且把ID设置为点击右键
设置为主键好了我们再增加一个叫做
name
表示学生的姓名
他的类型是varchar长度也搁成20
我们再来一个叫做年龄
这一行叫int
好了
点保存
给这个表起个名字
它表示的是
我们看一下他刚才提示的错误信息
是主键不能为空
所以说我们ID这块是不能为空的
允许空给它划掉
不允许为空
好
保存
这样的话我们这张就代表就生成了
双击就可以看到它里面的数据
现在什么都没有
我想往里面插入一条数据怎么办
很简单
首先你先写好一条SQL
这个SQL叫做insert
into
我们student那张表
然后我插入的值valuse注意我插入的
一个是名name对吧
我在这里为了防止混淆
给大家写上一个叫做name
一个叫做age好了
那么valuse这块我注意
我这里用占位符表示
我要往这里面插入两个值
这两个值待会通过程序去射进去
好
下一步怎么插入
我们就要在这里要获取我们的
prepare statment的对象
出于prepare statment的对象是用来执行
SQL语句的
它可以通过我们的链接对象来拿到
叫做prepareStatement
那么它需要传进去我们当前的SQL语句
然后pstmt它有一些设置的方法
比如说叫做set
那么
第1个叫做位置
注意它的索引从一开始
第1个位置我们需要设置
一个name名进去
那么比如说叫做JJQ好
pstmt.
我们set一个int
第2个位置是一个年龄
比如说是35
好了
那么这两个参数设置进去以后
我就可以通过pstmt.叫做
excute
Updata来执行了
executeUpdata来执行
好
那么注意都执行完以后
我要把它的PreparedStatement进行关闭
同理我要把conn这个对象
Connection对象进行关闭
那么这就是我的一个完整的程序
好
运行这个程序我们再看看
刷新一下数据库
看看student表里有没有数据是吧
这里报了一个错误
我们来看看是什么错误他说是我的
SQL写的有问题
我们看一下SQL
好
我们name
不要这个双引号就可以好重新运行一下
可以看到没有任何的问题了
然后我们看一下我们的
MySQL数据库
可以看到刚才我这条数据已经插进来了
好吧
那么我们现在想更新一条数据
该怎么办
我把这份代码复制一份
我叫做JDBC库
比如说我现在想把我JJQ给
更新为JJQ1好
那么首先还是你要去写SQL语句
比如update student set
我们的name值等于它是一个参数
对吧
where ID我就想把第1条数据改了
那么同样也是这时候我们用PreparedStatement
把My SQL语句传进去
然后设置这个参数可以设置为一就
可以了
那么他也没有年龄这个参数了
删除同样还executeUpdate
方法就可以了
好
运行
我们来刷新一下点这块刷新
大家可以看到JJQ已经变成这JJQ1了
好
下一个怎么样去删除一条数据
很简单
还是在这里改我们的SQL
语句就可以了
好
我们看GDP三
我们叫Delete
from student where id=1
我们想把1号这个数据给删去
或者说这时候ID我不是设置1了
我设置成一个问号了
这时候我通过PreparedStatementt把
sql语句传进去
那么对于我问号
我在这里给他设置1
当然了
这个不是在是string类型了
而是int类型了
同样还是调用executeUpdate的方法
好
好
运行一下
我们再来看
这条数据就没了
好
那么紧接着我怎么查询数据
比如说现在我这里面有一些数据了
我增加几条 好
再增加一条
我们有这样的三条数据
那么我想通过java给它读出来
该怎么读
我们再来一个
这里比赛是那么这时候我们的
SQL语句肯定是
select星是吧
student 好
还是通过我的prepareStatement
把sql语句传进去
这时候没有参数我就不用去设置参数
我们现在想查询语句
我们就不能再用pstmt executeUpdate方法了
我们需要通过它的一个方法
叫做executeQuery这么一个方法
他返回的是一个结果集
叫做ResultSet
这里面rs 所以它的结果集都存在
result那么所以它的结果都
存在ResultSet当中
那么就可以通过循环来去拿
rs有个方法叫做next
它返回的是一个boolean
表示它存不存在下一条记录
如果存在下一条记录
我是不是就可以拿到我的用户名
rs点叫做getString
好
把数据库里的列名传进去
我这里是叫做name
所以说这里搁的是name
int 我还要取一个age值
那么可以通过rs点get int
把列名age这一列列名传进去
就是我的age
这样的话就可以拿到我一条数据
我给他打印出来
我们看看好
好
name等于name
age等于我们的age
好
现在我运行这里还要注意一个问题
因为我这里用到这ResultSet这个对象了
所以说在关闭的时候还要除了关闭
PreparedStatement
还把ResultSet对象给关掉 好了
运行 大家就可以看到我整个的
数据库里的数据就都出来了
jjq1 35 jjq2 36
以及jjq3 37
好
这里就简单的给大家介绍了
用JAVA怎么去操作数据库
以及增删改查的一些小例子
为我们后面的课做一个铺垫
这个知识点就讲到这里
谢谢
-1.0 导学
--1.0.1 导学
-1.1 Web应用开发概述
--1.1.3 测试
-1.2 准备Java Web应用开发环境
--1.2.2 测试
-1.3 任务实现:Hello World Web项目
--1.3.2 测试
-1.4 小结
--1.4.1 小结
-本课程所有代码
--课程参考代码
-2.0 导学
--2.0.1 导学
-2.1 Servlet概述
--2.1.3 测试
-2.2 创建Servlet
--2,2,3 作业
-2.3 Servlet应用
--2.3.4 测试
-2.4 任务实现:某高校毕业生信息发布系统-注册与登录(Servlet版)
--2.4.3 测试
-2.5 ServletConfig接口
-2.6 ServletContext接口
-2.7 HttpServletRequest接口
--2.7.5 测验
-2.8 HttpServletResponse接口
--2.8.3 测试
-2.9 任务实现:某高校毕业生信息发布系统-简历添加
--2.9.1 任务实现:某高校毕业生信息发布系统-简历添加
-2.10 小结
-动画演示:Java Web应用服务器处理客户端请求的过程
-3.0 导学
--3.0.1 导学
-3.1 Cookie技术
--3.1.3 测试
-3.2 Session技术
--3.2.2 Session技术-Session技术应用购物车
--3.2.3 测试
-3.3 URL重写与隐藏表单域
--3.3.2 测试
-3.4 任务实现:某高校毕业生信息发布系统-简历修改
--3.4.1 任务实现:某高校毕业生信息发布系统-简历修改
-3.5 小结
--3.5.1 小结
-4.0 导学
-4.1 jsp概述
--4.1.2 测试
-4.2 脚本元素
--4.2.2 测试
-4.3 指令元素
--4.3.2 测试
-4.4 动作元素
--4.4.3 测试
-4.5 内置对象
--4.5.3 测试
-4.6 JavaBean
--4.6.3 测试
-4.7 任务实现:某高校毕业生信息发布系统-首页(JSP版)
--4.7.1 任务实现:某高校毕业生信息发布系统-首页(JSP版)
-4.8 小结
--4.8.1 小结
-5.0 导学
--5.0.2 测试
-5.1 el语法
--5.1.2 测试
-5.2 el隐含对象
--5.2.2 测试
-5.3 任务实现:某高校毕业生信息发布系统-学生详细信息展示
--5.3.1 任务实现:某高校毕业生信息发布系统-学生详细信息展示
--5.3.2 测试
-5.4 小结
--5.4.1 小结
-6.0 导学
--6.0.2 测试
-6.1 核心标签库
--6.1.5 测试
-6.2 任务实现:某高校毕业生信息发布系统-首页(JSTL版)
--6.2.1 任务实现:某高校毕业生信息发布系统-首页(JSTL版)
--6.2.2 测试
-6.3 小结
--6.3.1 小结
-7.0 导学
--7.0_导学
-7.1 过滤器
--7.1.3 测试
-7.2 监听器
--7.2.1.1与ServletContext相关的监听器
--7.2.4 测试
-7.3 任务实现:某高校毕业生信息发布系统-单态登录
--7.3.1 任务实现:某高校毕业生信息发布系统-单态登录
--7.3.2 测试
-7.4 小结
--7.4.1小结
-8.0 导学
--8.0_导学
-8.1 JDBC API
--8.1.2 测试
-8.2 JDBC API访问MySQL基本步骤
--8.2.2 测试
-8.3 任务实现:某高校毕业生信息发布系统-注册与登录
--8.3.1 任务实现:某高校毕业生信息发布系统-注册与登录(JDBC版)
--8.3.2 测试
-8.4 小结
--8.4.1小结
-9.0导学
--9.0导学
-9.1 技术准备
--9.1.5 测试.
-9.2 系统设计
-9.3 系统实现
-9.4 小结
--9.4.1小结