[第二章]JDBC

对数据库交互(CRUD增删改查)
  • 在java中访问数据库的规范

JDBC3.0 API简介

两个包,java.sql和javax.sql
 

JDBC驱动类型

四种类型

  1. JDBC-ODBC桥驱动程序
  1. 部分java驱动程序
  1. 中间件驱动程序
  1. 纯Java驱动程序⭐

使用JDBC

准备工作

  • 创建数据库和表
  • 创建Eclipse Java项目
  • 配置项目构建路径添加JDBC驱动程序(加mysql-connector-java的jar包)
  • P17

使用步骤

  1. 加载驱动程序
  1. 创建连接对象
  1. 创建Statement对象执行SQL语句
  1. 遍历结构聚集对象(可选)
  1. 依次关闭资源对象

加载驱动程序

Class.forName("com.mysql.cj.jdbc.Driver");

创建连接对象

  • 调用java.sql.DriverManager类的接口
  • getConnection()方法获得数据库的连接对象

创建Statement对象执行SQL语句

  • 一旦获得了数据库的连接,就可以和数据库进行交互。
  • JDBC的Statement,CallableStatement和PreparedStatement接口定义的方法和属性,可以发送SQL命令或PL/SQL命令到数据库,并从数据库接收数据。
notion image
  • String类型mysql语句
  • 调用Connection 对象的conn的createStatement方法获取Statement类型的对象
  • 查询用excuteQuery(String sql)方法查询
    • 返回结构保存在结果集ResultSet的对象ResultSet rs = stmt.executeQuery(sql)
  • 增删改用executeUpdate(sql)
    • executeUpdate(sql)返回值是数据库中受影响的行数

遍历结果集对象

  • MySQL与Java常用数据类型对比

依次关闭资源对象

  • 关闭顺序与建立顺序相反

增删改查

插入记录

  • 按五个步骤来
  • add()方法

抛出异常

  • Class、forName(driveName)可能会抛出ClassNotFoundException
  • 创建连接对象、创建语句对象、执行SQL语句等方法抛出SQLException
  • 一直向上抛出异常

JDBC事务管理

事务概念

一系列操作不可分割的工作逻辑单元

属性

ACID属性
  • 原子性:要么全做,要么不做
  • 一致性:数据一致状态
  • 隔离性:互不影响
  • 持续性:永久保存

JDBC事务管理

设置事务提交方式

  • setAutoCommit(boolean autoCommit)
    • ture 自动提交(默认)
    • false 手动提交
  • commit()
    • 提交事务
  • rollback()
    • 回滚
  • point = conn.savePoint()
    • 设置存储点

设置事务隔离级别

P36

JDBC4.X

  • 使用try

JDBC进阶

为了避免代码重复,使用util包中建立DBConnection的方式实现代码重用和面向类的设计的高内聚。

收获


  • String driverName ="com.mysql.jdbc.Driver";—>String driverName ="com.mysql.cj.jdbc.Driver";

要求


  • 能理解甚至默写重要代码
Prev
[第一章]集成开发环境搭建
Next
[第三章]Servlet
Loading...
Article List
一个NotionNext搭建的博客
数据库系统概论
大数据原理与应用
javaWeb应用开发基础教程
python
毕业设计
大数据技术综合应用
实训-航空数据系统
java面向对象程序设计
数据结构
算法分析与设计
SPARK
Python爬虫大数据采集与挖掘
云计算
概率论与数理统计
数字逻辑
计算机网络
计算机组成原理
linux
操作系统
人工智能导论
数据仓库与数据挖掘
数据可视化
大数据安全与隐私保护
c语言
C++