MySQL之JDBC(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: MySQL之JDBC

💕"我像离家的孤儿,回到了母亲的怀抱,恢复了青春。"💕

作者:Mylvzi

文章主要内容:MySQL之JDBC

 一.什么是JDBC?

 JDBC(Java Database Connectivity)是Java编程语言的一种API(应用程序接口),用于连接和操作各种类型的数据库。它允许Java应用程序通过标准化的方式访问数据库,并执行诸如查询、更新和管理数据等操作

 JDBC编程就是通过Java 代码来操纵数据库  

 数据库编程, 需要数据库服务器提供一些API供程序员使用  ,不同的sql服务器有不同的API,那我们mysql,oracle,sqlserver都有自己的API,那这些API需要我们都去学习么?不需要,因为Java凭借其市场份额,和数据库厂商制定了一套数据库编程规范,即所有的数据库服务器的API都能通过这套API的规范来实现

 具体是怎么实现的呢?数据库的厂商设计出了他们专属的"驱动器",在我们些项目的时候,可以把使用到的数据库服务器的驱动器安装到对应的包下,就可以将数据库的API转化为规范的API

 所谓的驱动器其实是一个驱动程序,它本质上是一个软件,是由厂商提供的,作用类似于"转接头",将自己原生的API转接为JDBC对应的API

二.安装驱动程序

 如果想在项目中使用MySQL就需要安装MySQL的驱动程序,并将其放到对应的包之下

下面以mysql为例

首先要先去安装驱动包,可以去中央仓库进行下载(方便)

Maven Repository: mysql » mysql-connector-java » 5.1.48 (mvnrepository.com)

注意:下载的驱动器的版本要和你的MySQL服务器相对应,我的MySQL服务器是5,所以下载的驱动器也是5版本

1.先在src下创建一个"lib"的包(引入第三方包常用名称)

2.在lib包之下复制刚才下载的驱动器

导入之后右键点击,然后再点击最下面一行Add as Library

三.开始编码!!!

 以上都是准备工作,接下来开始进行编码

 总体来说分为5步

1.准备数据源

 进行数据库编程需要先进行数据准备,数据准备是通过DataSource这个接口实现的,数据源的准备分为四步

  • 实例化实现DataSource接口的对象
  • 建立URL
  • 设置用户名
  • 设置密码

1.实例化对象

代码

DataSource dataSource = new MysqlDataSource();

源码:

2.建立URL

代码

((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java109?characterEncoding=utf8&useSSL=false");

解析

 这么长的字符串大家不用记忆、下次使用的时候直接复制粘贴即可,这里也叫给大家一个记忆的例子,整个字符串的逻辑还是很简单的

3.设置用户民 和密码

代码

((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("123456");

root是MySQL默认的自带的用户,密码是登录MySQL的密码

完整代码:

// 1.准备数据源  实例化对象 建立URL  设置用户名和密码
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java109?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("123456");

 对于准备阶段,发现在设置url,user,password的时候都对数据源dataSource进行的强转,实际上不强转也可以进行接下来的操作,此处强转是为了降低代码的耦合性。

 代码的耦合性是指代码之间的影响性大小,也就是当你只修改代码的一部分时,要修改的其他代码很多,则代码的耦合性就高,反之则低。代码的耦合性 越低越好,当你再次需要修改部分代码时,对整体的影响小

 此处强转就是为了降低代码的耦合性,强转之后当你需要利用其他数据库进行编程时需要修改的部分只有强转的类型,这样代码之间的耦合性就降低了

以上只是准备工作  还并没有和mysql进行通信  接下来进行通信

MySQL之JDBC(一)+https://developer.aliyun.com/article/1413552

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
299 1
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
94 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
42 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
54 0
|
4月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
60 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
4月前
|
前端开发 关系型数据库 MySQL
com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver 的区别
这篇文章讨论了`com.mysql.jdbc.Driver`和`com.mysql.cj.jdbc.Driver`两个MySQL驱动类的区别,指出`com.mysql.jdbc.Driver`适用于MySQL 5的`mysql-connector-java`版本,而`com.mysql.cj.jdbc.Driver`适用于MySQL 6及以上版本的`mysql-connector-java`。文章还提到了在实际使用中如何根据MySQL版本选择合适的驱动类。
com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver 的区别
|
4月前
|
关系型数据库 MySQL Java
【Azure 应用服务】App Service 无法连接到Azure MySQL服务,报错:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
【Azure 应用服务】App Service 无法连接到Azure MySQL服务,报错:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
177 0
|
6天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
26天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
34 1
|
28天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
39 4