前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JDBC简介与连接mysql数据库

JDBC简介与连接mysql数据库

作者头像
端碗吹水
发布2020-09-23 10:42:20
3.9K0
发布2020-09-23 10:42:20
举报
文章被收录于专栏:程序猿的大杂烩

JDBC简介:

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

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

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

示意图:

cb8e13f47a5f756c1dbf4f865f22af8f.png
cb8e13f47a5f756c1dbf4f865f22af8f.png

JDBC API里都是接口:

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

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

普通工程:

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

官网下载:

b3fe57b01555d5196561adcbacb8beda.png
b3fe57b01555d5196561adcbacb8beda.png

官网下载地址:

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

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

1732dc20b791739ac79f2fcd119eeb43.png
1732dc20b791739ac79f2fcd119eeb43.png
2c8e54c80e9b3c73d76766ef2b5f0735.png
2c8e54c80e9b3c73d76766ef2b5f0735.png
dd28028045d5032295f43ccf9cc2a307.png
dd28028045d5032295f43ccf9cc2a307.png

Maven工程:

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

57485fe4ed65207c5b6c5baa11109846.png
57485fe4ed65207c5b6c5baa11109846.png
87411e5b63d8b4806c9d8ab38de7878d.png
87411e5b63d8b4806c9d8ab38de7878d.png

JDBC的常用接口介绍:

JDBC的接口在java.sql包里:

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

Connection: 数据库连接对象

Statement: SQL语句执行对象

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

ResultSet: SQL查询语句的结果集

ResultSetMetaData: 查询表结构

CallableStatement: 存储过程调用

思维导图:

c5a40a9ccc974f63ef5eb9cf937ca443.png
c5a40a9ccc974f63ef5eb9cf937ca443.png

JDBC驱动:

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

Java连接数据库步骤:

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

0a0e25f3d0adf7b4e94b5033035c160d.png
0a0e25f3d0adf7b4e94b5033035c160d.png

数据库URL字符串意义:

cf52a17399f25497f5ca96a4a5ae84c0.png
cf52a17399f25497f5ca96a4a5ae84c0.png

JDBC驱动类加载原理:

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

2ea887e23def32482796fafefffdb127.png
2ea887e23def32482796fafefffdb127.png

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

e307be030974e60011d684f5af100e7a.png
e307be030974e60011d684f5af100e7a.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/10/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档