当前位置: 首页 > news >正文

MySQL初阶:JDBC

JDBC前了解知识

JDBC编程就是使用JAVA代码操作MySQL数据库。

数据库编程:就是数据库提供了一组API供程序员使用。

API(Application  programming interface):就是提供了一组函数/类,供我们调用,不同的数据库提供的API也是不同的。

因此如果要操作不同的数据库就要学习多套API,为了方便JAVA提供了一套API,让数据库们都要和JAVA的API对接上,这样我们只要学习JAVA提供的API就可以进行操作数据库了。

数据库并非单独提供一套API,而是通过驱动程序(类似于转接口)将数据库的原生API转换成符合JAVA要求的API。

JDBC准备过程

要先下载MySQL的驱动包,将驱动包引入到项目里面(中央仓库)。

1)先将在中央仓库里下载的.jar的驱动包复制

2)创建一个项目,再创建一个新目录,将.jar复制到项目目录中

3)将目录转换成库目录

JDBC操作

1)先创建一个数据源Datasource

这一步是在确立数据库服务器的位置。

因为Datasource是一个interfaces所以是创建一个MysqlDatasource实例(向上转型):

2)设置网址,数据库密码,数据库用户名

通过dataSource对象直接调用找到在网络上的位置setUrl(网址),setUser用户名,setpassword数据库密码。

jdbc:mysql :是指Url是给jdbc操作mysql用的,如果操作oracle数据库,就要使用jdbc:oracle。

127.0.0.0 : 是网络上描述一台主机所在的位置(IP地址),这里是环回地址(loopback),指发送给自己的地址。

3306:端口号,具体到发送给哪个程序。

补充:下面会将dataSource强转为MysqlDataSource(向下转型),这是因为在使用这个对象的时候,防止MysqlDataSource这个Mysql中的类扩散到下面的代码中,如果我们要进行更换数据库时就可以只将MysqlDataSource这个类进行更换,这样降低了代码的耦合,符合我们高内聚低耦合的原则。

当然我们也可以在创建数据源的时候就将创建的对象设为MysqlDataSource类型。

3)建立与数据库的连接

4)构造sql

这里我们先写一个字符串类型的sql语句,然后创建一个preparedstatement对象,接受一个预处理好的sql语句,在客户端就完成对sql语句的检查,减少服务器不必要的压力。

我们可以通过scanne让用户进行输入值,然后构造出sql进行插入,先使用?占位符,使用statement的set方法进行赋值。

5)把sql发给服务器

返回的整数是影响到的行数。

查询操作:

使用的是executeQuery,返回值是一个结果集Resultset,对结果集进行遍历,每一次j.next是取出一行记录,使用getInt等方法取出每一列。

6)执行完毕,关闭连接,释放资源

程序通过代码与服务器进行通信,要消耗一定的硬件和软件资源,当通信结束时,需要将这些资源释放。

关闭的顺序是后创建的先关闭,先创建的后关闭

http://www.xdnf.cn/news/595279.html

相关文章:

  • 海盗王客户端创建角色遮罩层修改成自适应窗口尺寸
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.4.10)
  • QT入门基础
  • python训练营打卡第31天
  • 【C++】控制台小游戏
  • 【人工智能】低代码基础技术讲解,规则引擎,在低代码平台上的作用,有哪些规则引
  • 前端请求状态出现CORS错误
  • CarPlay有线连接流程
  • 陕西安全员考试报名流程是怎样的?
  • 【Python3教程】Python3 文件(File)方法详解
  • 谷歌开源医疗领域多模态生成式AI模型:medgemma-4b-it
  • 完全禁用 Actuator 功能
  • 6个月Python学习计划 Day 1
  • Baklib企业知识中台AI实践
  • 2025年重庆水利水电安全员 A证考试精选题
  • Java设计模式
  • 爱博精电正式入驻京东平台,为客户提供更高效、便捷的采购体验
  • 结构型:装饰器模式
  • 项目开发中如何Git如何保持官方补丁更新
  • 工业物联网中隐私保护入侵检测的联邦学习增强型区块链框架
  • YOLOv11模型训练
  • Spring Ioc和Aop,Aop的原理和实现案例,JoinPoint,@Aspect,@Before,@AfterReturning
  • 如何使用小爱音响控制海尔等第三方平台设备
  • 从实验室到产业化:探究FSHD 技术发展史如何重塑显示行业格局?
  • 【物理学】声子:凝聚态物理中的关键概念
  • 视觉理解多模态模型转为API服务
  • 【Hexo】1.搭建本地初始默认的博客
  • 链表day4
  • 多线程初阶(3)
  • 数据表格控件TeeGrid for VCL/FMX:让数据“说话”更直观!