【JDBC】JDBC快速入门
【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快速入门
- 注册驱动,加载Driver类
- 获取链接,得到Connection
- 执行增删改查,发送SQL给Mysql执行
- 释放资源,关闭相关链接
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快速入门相关推荐
- JDBC概念快速入门工具类Util的写法
JDBC概念&快速入门&工具类Util的写法 概念 Java Database Connectivity Java 数据库连接,用Java语言操作数据库 JDBC本质:官方定义的一套操 ...
- Spring JdbcTemplate快速入门
Spring提供了一个jdbc模板,它类似于dbutils工具. 问题:如何使用spring jdbc template? 第一:要导入相关的jar包 在这个基础上我们还需要导入 还需要导入相关的数据 ...
- JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】
黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...
- JDBC之一:快速入门
JDBC之一:快速入门 @(JAVA)[java] (1)下载Oracle的JDBC驱动,一般放在$ORACLE_HOME/jdbc/lib目录,关于驱动的版本请见: http://elf8848.i ...
- [JavaWeb-JDBC]JDBC_快速入门_idea jdbc连接Mysql数据库
快速入门: * 步骤:1. 导入驱动jar包 mysql-connector-java-8.0.17.jar1.复制mysql-connector-java-8.0.17.jar到项目的libs目录下 ...
- 一、Java Web——JDBC快速入门(详解)
今日内容 1. JDBC基本概念 2. 快速入门 3. 对JDBC中各个接口和类详解 JDBC: 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数 ...
- 小汤学编程之JDBC(一)——JDBC概述和快速入门
一.JDBC概述 1.概念 2.作用 二.JDBC快速入门 1.实现步骤 2.查询数据和操作数据 3.SQL注入 4.事务管理 5.Statement与Prep ...
- java day29【DBC基本概念 、快速入门 、对JDBC中各个接口和类详解】
第一章 JDBC 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 * JDBC本质:其实是官方(sun公司)定义的一套操作所有关系 ...
- JDBC最详讲解(快速入门)
作者简介:大家好我是小唐同学(๑><๑),为梦想而努力的小唐,让我们一起加油!!! 个人主页:小唐同学(๑><๑)的博客主页 系列专栏:牛客网刷SQL 大家如果有求职需要或 ...
最新文章
- 遗传算法 python包_遗传算法 (Genetic Algorithm)
- iOS UISegmentedControl 的使用
- centos5.3安装vmware
- python删除特定的几行数据_Python:分成几行,并根据搜索删除特定行 - python
- 经过一晚上的浓缩之后
- 数据库中int类型存在空数据开发过程中model和dal层处理方法
- 活动目录实战之六 使用ADMT 3.2迁移用户和计算机
- Android 第一行代码(第2版).pdf 网盘
- dos攻击工具如何使用?两款dos攻击工具介绍
- 北京今日起最低工资和养老金标准全部上调
- Excel中的单元格引用
- ppt背景图片怎么设置?6步教你快速搞定!
- word怎么删除某一页的页眉
- 嵌入式Linux--MYS-6ULX-IOT--构建交叉编译环境
- windows分类及安装
- 量子点、量子点发光、量子点屏幕究竟是什么?
- MODBUS RTU转PROFIBUS DP 转换器怎么接线远创智控
- SercureCRT使用
- win7系统损坏无法开机_win7系统网络适配器无法启动怎么办
- 动力节点—2020最新Spring教程笔记(上)
热门文章
- 电路实验一阶电路误差分析_基于动态综合型等效电路模型的动力电池特性分析...
- 科大讯飞AI营销云广告投放数据分析报告【实战总结】
- eclipse自动补录失效解决方法
- 如何学习技术(任何东西),重点是什么(转自知乎)
- 千万不要说联通的网络不好……
- 索尼sw2刷android wear,SmartWatch2 apk下载|SmartWatch2 SW2软件安卓版下载 v1.6.31 - 跑跑车安卓网...
- bootstrap中怎么样使按钮居中
- coding随笔 | 点绕向量旋转
- 关于AWS云主机EC2的一些常用操作
- Java 正则检测大写字母