【JDBC】JDBC快速入门

  • 1.概述
  • 2.JDBC快速入门
  • 3.获取数据库连接的5种方式
  • 4.ResultSet的基本使用

1.概述

JDBC是Java DataBase Connectivity的缩写,它是Java程序访问数据库的标准接口。

使用Java程序访问数据库时,Java代码并不是直接通过TCP连接去访问数据库,而是通过JDBC接口来访问,而JDBC接口则通过JDBC驱动来实现真正对数据库的访问。

例如,我们在Java代码中如果要访问MySQL,那么必须编写代码操作JDBC接口。注意到JDBC接口是Java标准库自带的,所以可以直接编译。而具体的JDBC驱动是由数据库厂商提供的,例如,MySQL的JDBC驱动由Oracle提供。因此,访问某个具体的数据库,我们只需要引入该厂商提供的JDBC驱动,就可以通过JDBC接口来访问,这样保证了Java程序编写的是一套数据库访问代码,却可以访问各种不同的数据库,因为他们都提供了标准的JDBC驱动:

使用JDBC的好处是:

  • 各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发;
  • Java程序编译期仅依赖java.sql包,不依赖具体数据库的jar包;
  • 可随时替换底层数据库,访问数据库的Java代码基本不变。

2.JDBC快速入门

  1. 注册驱动,加载Driver类
  2. 获取链接,得到Connection
  3. 执行增删改查,发送SQL给Mysql执行
  4. 释放资源,关闭相关链接

MySQL - JDBC驱动各版本下载

下载官网最新版本即可

开始导包:

或者更简单的,您可以使用Maven:

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.30</version>
</dependency>

使用JDBC时,我们先了解什么是Connection。Connection代表一个JDBC连接,它相当于Java程序到数据库的连接(通常是TCP连接)。打开一个Connection时,需要准备URL、用户名和口令,才能成功连接到数据库。

注册驱动:

import com.mysql.cj.jdbc.Driver;
// 1.注册驱动
Driver driver = new Driver();

得到与数据库jdbc_test链接:

// 2.得到与数据库jdbc_test链接
// 底层就是socket连接
String url = "jdbc:mysql://localhost:3306/jdbc_test?useSSL=false&serverTimezone=GMT%2B8";
Properties properties = new Properties();
properties.setProperty("user","root"); // 用户名
properties.setProperty("password","root"); // 密码

执行SQL语句:

// 3.执行SQL
String sql = "insert into user values(1,'dahezhiquan','111','中国大学')";
Statement statement = connect.createStatement();
int rows = statement.executeUpdate(sql);
System.out.println(rows > 0 ? "成功":"失败");

关闭连接:

// 4.关闭链接
statement.close();
connect.close();

3.获取数据库连接的5种方式

第一种方式:上文使用driver注册驱动创建的方式

第二种方式:使用反射获取

/*** 使用反射加载driver类*/
@Test
public void test1() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {Class<?> aClass = Class.forName("com.mysql.cj.jdbc.Driver");Driver driver = (Driver) aClass.newInstance();String url = "jdbc:mysql://localhost:3306/jdbc_test?useSSL=false&serverTimezone=GMT%2B8";Properties properties = new Properties();properties.setProperty("user","root"); // 用户名properties.setProperty("password","root"); // 密码Connection connect = driver.connect(url, properties);
}

第三种方式:使用DriverManager进行统一管理

/*** 使用DriverManager进行统一管理*/
@Test
public void test2() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {Class<?> aClass = Class.forName("com.mysql.cj.jdbc.Driver");Driver driver = (Driver) aClass.newInstance();String url = "jdbc:mysql://localhost:3306/jdbc_test?useSSL=false&serverTimezone=GMT%2B8";String username = "root";String password = "root";// 注册Driver驱动DriverManager.registerDriver(driver);Connection connection = DriverManager.getConnection(url, username, password);
}

第四种方式:使用Class.forName自动完成注册驱动,进行简化

/*** 简化DriverManager注册* 使用Class.forName自动完成注册驱动,进行简化*/
@Test
public void test3() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {Class<?> aClass = Class.forName("com.mysql.cj.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/jdbc_test?useSSL=false&serverTimezone=GMT%2B8";String username = "root";String password = "root";Connection connection = DriverManager.getConnection(url, username, password);
}

第五种方式:使用properties配置文件读取完成连接(最推荐使用

【JDBC】JDBC快速入门相关推荐

  1. JDBC概念快速入门工具类Util的写法

    JDBC概念&快速入门&工具类Util的写法 概念 Java Database Connectivity Java 数据库连接,用Java语言操作数据库 JDBC本质:官方定义的一套操 ...

  2. Spring JdbcTemplate快速入门

    Spring提供了一个jdbc模板,它类似于dbutils工具. 问题:如何使用spring jdbc template? 第一:要导入相关的jar包 在这个基础上我们还需要导入 还需要导入相关的数据 ...

  3. JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  4. JDBC之一:快速入门

    JDBC之一:快速入门 @(JAVA)[java] (1)下载Oracle的JDBC驱动,一般放在$ORACLE_HOME/jdbc/lib目录,关于驱动的版本请见: http://elf8848.i ...

  5. [JavaWeb-JDBC]JDBC_快速入门_idea jdbc连接Mysql数据库

    快速入门: * 步骤:1. 导入驱动jar包 mysql-connector-java-8.0.17.jar1.复制mysql-connector-java-8.0.17.jar到项目的libs目录下 ...

  6. 一、Java Web——JDBC快速入门(详解)

    今日内容 1. JDBC基本概念 2. 快速入门 3. 对JDBC中各个接口和类详解 JDBC: 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数 ...

  7. 小汤学编程之JDBC(一)——JDBC概述和快速入门

    一.JDBC概述 1.概念     2.作用 二.JDBC快速入门 1.实现步骤     2.查询数据和操作数据     3.SQL注入     4.事务管理     5.Statement与Prep ...

  8. java day29【DBC基本概念 、快速入门 、对JDBC中各个接口和类详解】

    第一章   JDBC 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 * JDBC本质:其实是官方(sun公司)定义的一套操作所有关系 ...

  9. JDBC最详讲解(快速入门)

    作者简介:大家好我是小唐同学(๑>؂<๑),为梦想而努力的小唐,让我们一起加油!!! 个人主页:小唐同学(๑>؂<๑)的博客主页 系列专栏:牛客网刷SQL 大家如果有求职需要或 ...

最新文章

  1. 遗传算法 python包_遗传算法 (Genetic Algorithm)
  2. iOS UISegmentedControl 的使用
  3. centos5.3安装vmware
  4. python删除特定的几行数据_Python:分成几行,并根据搜索删除特定行 - python
  5. 经过一晚上的浓缩之后
  6. 数据库中int类型存在空数据开发过程中model和dal层处理方法
  7. 活动目录实战之六 使用ADMT 3.2迁移用户和计算机
  8. Android 第一行代码(第2版).pdf 网盘
  9. dos攻击工具如何使用?两款dos攻击工具介绍
  10. 北京今日起最低工资和养老金标准全部上调
  11. Excel中的单元格引用
  12. ppt背景图片怎么设置?6步教你快速搞定!
  13. word怎么删除某一页的页眉
  14. 嵌入式Linux--MYS-6ULX-IOT--构建交叉编译环境
  15. windows分类及安装
  16. 量子点、量子点发光、量子点屏幕究竟是什么?
  17. MODBUS RTU转PROFIBUS DP 转换器怎么接线远创智控
  18. SercureCRT使用
  19. win7系统损坏无法开机_win7系统网络适配器无法启动怎么办
  20. 动力节点—2020最新Spring教程笔记(上)

热门文章

  1. 电路实验一阶电路误差分析_基于动态综合型等效电路模型的动力电池特性分析...
  2. 科大讯飞AI营销云广告投放数据分析报告【实战总结】
  3. eclipse自动补录失效解决方法
  4. 如何学习技术(任何东西),重点是什么(转自知乎)
  5. 千万不要说联通的网络不好……
  6. 索尼sw2刷android wear,SmartWatch2 apk下载|SmartWatch2 SW2软件安卓版下载 v1.6.31 - 跑跑车安卓网...
  7. bootstrap中怎么样使按钮居中
  8. coding随笔 | 点绕向量旋转
  9. 关于AWS云主机EC2的一些常用操作
  10. Java 正则检测大写字母