JDBC简介与连接mysql数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

JDBC简介:

JDBC全称为:Java DataBase Connectivityjava数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

简单地说,JDBC 可做三件事:与数据库建立连接、发送操作数据库的语句并处理结果。

示意图:

cb8e13f47a5f756c1dbf4f865f22af8f.png



JDBC API里都是接口:

我们都知道在数据库连接上Java只做规范不做实现,所以Java只制定了接口,制定接口也是为了统一操作,并且将实现都交给数据库开发商有一些好处就是各家开发商去实现自己的数据库实现类,肯定要比让Java去实现做得要好,因为他们都比Java要了解自家数据库的特性,而且Java也省得了这些麻烦,将事都交给开发商去做。如果出现了问题背锅的也是数据库开发商,而不是Java


如何在工程中添加JDBC的jar包:

普通工程:

普通工程只需要在官网下载对应数据库的JDBC jar包,然后复制到工程目录下,接着添加到工程环境中即可,这里以mysql数据库作为示例:

官网下载:

b3fe57b01555d5196561adcbacb8beda.png

官网下载地址:

https://dev.mysql.com/downloads/connector/j/

 


  下载好后解压缩,找到JDBC的jar包,然后点击复制,接着粘贴到工程里,最后将添加进去的jar加入到工程环境中:

1732dc20b791739ac79f2fcd119eeb43.png

2c8e54c80e9b3c73d76766ef2b5f0735.png

dd28028045d5032295f43ccf9cc2a307.png




Maven工程:

  Maven工程就很简单了,到Maven的中央仓库搜索相应的数据库的JDBC jar包,然后将依赖配置到pom配置文件里即可:

57485fe4ed65207c5b6c5baa11109846.png

87411e5b63d8b4806c9d8ab38de7878d.png




JDBC的常用接口介绍:

JDBC的接口在java.sql包里:

DriverManager 驱动管理员 用于创建Connection对象

Connection 数据库连接对象

Statement SQL语句执行对象

PreparedStatement SQL预处理执行对象可防止有一些恶意的sql注入

ResultSet  SQL查询语句的结果集

ResultSetMetaData 查询表结构

CallableStatement 存储过程调用

 

思维导图:

c5a40a9ccc974f63ef5eb9cf937ca443.png





JDBC驱动:

JDBC API大部分都是接口,因为Java只做规范不做实现,只声明了各种接口,这时接口还没被实现的时候就像一个新的硬件还没被安装上驱动,接口都是由数据库公司来进行实现的,所以JDBC的驱动就是实现JDBC接口的操作类,我们需要这些实现类来创建数据库的连接对象,然后我们才能通过驱动创建出来的对象去对数据库进行操作,就像计算机上的硬件设备一样,需要一个软件或者说一些代码来驱动这个设备,才能够发挥相应的功能,所以我们也要通过JDBC驱动才能够发挥对数据库操作的功能。

 

Java连接数据库步骤:

  连接数据首先要用反射机制加载JDBC的驱动类,然后通过DriverManager驱动管理员类调用getConnection();方法来得到Connection数据库连接对象,调用这个方法时需要传递数据库的URL字符串、数据库用户和用户密码:

0a0e25f3d0adf7b4e94b5033035c160d.png



数据库URL字符串意义:cf52a17399f25497f5ca96a4a5ae84c0.png




JDBC驱动类加载原理:

  当Driver类被反射机制访问,它的静态块就会被执行,静态块里就只有一句用于进行驱动注册的核心代码,在这里Driver类被实例化出了对象,并且传递给了DriverManager驱动管理员类,所以才能够通过DriverManager类来得到数据库的连接对象:

2ea887e23def32482796fafefffdb127.png



Java连接数据库步骤思维导图:

e307be030974e60011d684f5af100e7a.png



本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1977000,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
2月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
124 13
|
2月前
|
SQL 关系型数据库 MySQL
MySQL数据库连接过多(Too many connections)错误处理策略
综上所述,“Too many connections”错误处理策略涉及从具体参数配置到代码层面再到系统与架构设计全方位考量与改进。每项措施都需根据具体环境进行定制化调整,并且在执行任何变更前建议先行测试评估可能带来影响。
993 11
|
2月前
|
SQL 关系型数据库 MySQL
排除通过IP访问MySQL时出现的连接错误问题
以上步骤涵盖了大多数遇到远程连接 MySQL 数据库时出现故障情形下所需采取措施,在执行每个步骤后都应该重新尝试建立链接以验证是否已经解决问题,在多数情形下按照以上顺序执行将能够有效地排除并修复大多数基本链接相关故障。
340 3
|
2月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
354 11
|
3月前
|
存储 关系型数据库 MySQL
修复.net Framework4.x连接MYSQL时遇到utf8mb3字符集不支持错误方案。
通过上述步骤大多数情况下能够解决由于UTF-encoding相关错误所带来影响,在实施过程当中要注意备份重要信息以防止意外发生造成无法挽回损失,并且逐一排查确认具体原因以采取针对性措施解除障碍。
251 12
|
7月前
|
安全 Linux 网络安全
YashanDB数据库服务端SSL连接配置
YashanDB支持通过SSL连接确保数据传输安全,需在服务端生成根证书、服务器证书及DH文件,并将根证书提供给客户端以完成身份验证。服务端配置包括使用OpenSSL工具生成证书、设置SSL参数并重启数据库;客户端则需下载根证书并正确配置环境变量与`yasc_env.ini`文件。注意:启用SSL后,所有客户端必须持有根证书才能连接,且SSL与密码认证独立运行。
|
4月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
434 0
|
6月前
|
存储 SQL 关系型数据库
MySQL存储引擎简介
在选择相应的存储引擎时,需要充分考虑实际业务场景、性能需求和数据一致性要求,从而为数据管理提供最佳支持。
380 17

推荐镜像

更多