首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JDBC复习之全部

今日目录

1、JDBC简介

2、JDBC原理

一、JDBC简介

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

二、JDBC原理

JDBC 原理:JDBC 是以前 SUN 公司定义的一套访问数据库的接口(没有具体实现),一套标准,具体的实现是由各大数据库厂家去实现,每个数据库厂家都有自己的 JDBC 实现,也就是 JDBC 驱动实现类,Java 应用程序连接指定数据库,需要使用厂家提供的 JDBC 驱动才能连接。(这里其实就是 java 多态的一种体现,一个接口可以有很多具体的实现)

今日目录

1、JDBC连接数据库步骤

2、在项目里配置数据库驱动

3、加载数据驱动

4、连接及关闭数据库

一、JDBC连接数据库步骤

1、加载驱动

2、连接数据库

3、使用语句操作数据库

4、关闭数据库连接,释放资源

二、在项目里配置数据库驱动

第一步:file -> Project Structure(ctrl+alt+shift+s)

第二步:Modules -> Dependencies -> + ->Library -> New Library -> Java ->选择你要添加的驱动包 ->一路确认就好了

三、加载数据驱动

2、加载方式: Class.forName(驱动名);

四、连接及关闭数据库

1,DriverManager 驱动管理类,主要负责获取一个数据库的连接;static Connection getConnection(String url, String user, String password) 试图建立到给定数据库 URL 的连接。

2,MySQL 数据库的连接地址格式

jdbc:mysql://IP 地址:端口号/数据库名称

jdbc 协议:JDBC URL 中的协议总是 jdbc ;

子协议:驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称,如 mysql;

子名称:一种标识数据库的方法。必须遵循“//主机名:端口/子协议”的标准 URL 命名约定,如//localhost:3306/db_book

3,Connection 接口 与特定数据库的连接(会话)。

void close()

立即释放此 Connection 对象的数据库和 JDBC 资源,而不是等待它们被自动释放。

今日目录

1、Statement 接口引入

2、使用 Statement 接口实现添加数据操作

3、使用 Statement 接口实现更新数据操作

4、使用 Statement 接口实现删除数据操作

一、Statement 接口引入

1、作用:用于执行静态 SQL 语句并返回它所生成结果的对象。

2、int executeUpdate(String sql) 执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。

3、void close() 立即释放此 Statement 对象的数据库和 JDBC 资源,而不是等待该对象自动关闭时发生此操作。

二、使用 Statement 接口实现添加数据操作

三、使用 Statement 接口实现更新数据操作

1、在Book类增加一个构造方法

四、使用 Statement 接口实现删除数据操作

今日目录

1、PreparedStatement 接口引入

2、使用 PreparedStatement 接口实现添加数据操作

3、使用 PreparedStatement 接口实现更新数据操作

4、使用 PreparedStatement 接口实现删除数据操作

一、PreparedStatement 接口引入

PreparedStatement 是 Statement 的子接口,属于预处理操作,与直接使用 Statement 不同的是PreparedStatement

在操作时,是先在数据表中准备好了一条 SQL 语句,但是此 SQL 语句的具体内容暂时不设置,而是之后再进行设置。

(以后开发一般用 PreparedStatement ,不用 Statement )

二、使用 PreparedStatement 接口实现添加数据操作

三、使用 PreparedStatement 接口实现更新数据操作

四、使用 PreparedStatement 接口实现删除数据操作

今日目录

1、ResultSet 结果集的引入

2、使用ResultSet遍历查询结果

一、ResultSet 结果集的引入

当我们查询数据库时,返回的是一个二维的结果集,我们这时候需要使用 ResultSet 来遍历结果集,获取每一行的数据。

二、使用ResultSet遍历查询结果

1、 boolean next() 将光标从当前位置向前移一行。

2、 String getString(int columnIndex) 以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。

3、String getString(String columnLabel) 以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。

book类中添加一个同toString方法

今日目录

1、处理 CLOB 数据

2、处理 BLOG 数据

一、处理 CLOB 数据

大数据对象处理主要有 CLOB(character large object)和 BLOB(binary large object)两种类型的字段;在 CLOB中可以存储大字符数据对象,比如长篇小说;在 BLOB 中可以存放二进制大数据对象,比如图片,电影,音乐;

二、处理 BLOG 数据

今日目录

1、CallableStatement 接口的引入

2、使用 CallableStatement 接口调用存储过程

一、CallableStatement 接口的引入

CallableStatement 主要是调用数据库中的存储过程,CallableStatement 也是 Statement 接口的子接口。在使用CallableStatement 时可以接收存储过程的返回值。

二、使用 CallableStatement 接口调用存储过程

void registerOutParameter(int parameterIndex, int sqlType)按顺序位置 parameterIndex 将 OUT 参数注册为 JDBC 类型 sqlType。

今日目录

1、使用 DatabaseMetaData 获取数据库基本信息

2、使用 ResultSetMetaData 获取 ResultSet 对象中的信息

一、使用 DatabaseMetaData 获取数据库基本信息

1、DatabaseMetaData 可以得到数据库的一些基本信息,包括数据库的名称、版本,以及得到表的信息。

2、String getDatabaseProductName() 获取此数据库产品的名称。

3、int getDriverMajorVersion() 获取此 JDBC 驱动程序的主版本号。

4、int getDriverMinorVersion() 获取此 JDBC 驱动程序的次版本号。

二、使用 ResultSetMetaData 获取 ResultSet 对象中的信息

1、ResultSetMetaData 可获取关于 ResultSet 对象中列的基本信息; 2、int getColumnCount() 返回此 ResultSet 对象中的列数。3、String getColumnName(int column) 获取指定列的名称。4、int getColumnTypeName(int column) 获取指定列的 SQL 类型名称。

今日目录

1、事务的概念

2、mysql对事务的支持

3、JDBC事务处理

4、事务保存

数据库表:

CREATE DATABASE /*!32312 IF NOT EXISTS*/`db_bank` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `db_bank`;

DROP TABLE IF EXISTS `t_account`;

CREATE TABLE `t_account` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`accountName` varchar(20) DEFAULT NULL,

`accountBalance` int(11) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

insert into `t_account`(`id`,`accountName`,`accountBalance`) values (1,'张三',500),(2,'李四',1000);

一、事务的概念

1、 事务处理在数据库开发中有着非常重要的作用,所谓事务就是所有的操作要么一起成功,要么一起失败,事务

本身具有原子性(Atomicity)、一致性(Consistency)、隔离性或独立性(Isolation)、持久性(Durability)4 个特

性,这 4 个特性也被称为 ACID 特征。

原子性:原子性是事务最小的单元,是不可再分隔的单元,相当于一个个小的数据库操作,这些操作必须同时

成功,如果一个失败了,则一切的操作将全部失败。

一致性:指的是在数据库操作的前后是完全一致的,保证数据的有效性,如果事务正常操作则系统会维持有效

性,如果事务出现了错误,则回到最原始状态,也要维持其有效性,这样保证事务开始时和结束时系统处于一

致状态。

隔离性:多个事务可以同时进行且彼此之间无法访问,只有当事务完成最终操作时,才可以看到结果;

持久性:事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。

二、mysql对事务的支持

三、JDBC事务处理

四、事务保存点

添加小编微信可以获取免费资源,二维码

要用到的工具,关注公众号直接免费获取:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180510G1EAWY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券