JDBC

JDBC

一 ,JDBC概述

1.1 持久化概述

持久化就是把内存的数据存储到可掉电式存储式设备(硬盘,u盘等)中供以后使用

大多数的企业级应用,数据持久化是将数据保存到各种的关系型数据库,而在java中,数据库的存取技术只能通过JDBC来访问数据数据库,JDBC是Java语言访问数据库的基石,其他的技术都是对JDBC技术的封装

1.2 JDBC概述

  • JDBC(Java DataBase Connectivity Java 数据库连接)就是用于执行SQL语句的API,可以为多种关系型数据库提供同意访问
  • JDBC的本质就是官方提供的规范接口,帮助开发人员快速实现不同的关系型数据库的连接

1.3 JDBC 开发口诀

贾琏欲执事

  1. 载注册驱动.

  2. 获取接对象.

  3. 创建/获取句对象.

  4. 行SQL语句.

  5. 放资源

二. 功能类的详解

1. DriverManger类 概述

1.1 加载注册驱动

DriverManger :驱动注册管理对象,主要用于加载注册关系型数据库的Driver类以及获取和关系型数据库的连接对象

 //把这一份字节码文件加载进JVM,字节码加载进JVM就会执行静态代码块里的代码,
// 而其底层的静态代码块就是在完成注册加载驱动的工作,将驱动注册到DriverManger中
Class.forName("com.mysql.jdbc.Driver");

1.2 获取连接对象

    //通过DriverManger的方法获取到连接对象
    DriverManger.getConnection("jdbc:mysql:///库名", "账号", "密码");

2. Connection类 概述

Connection:关系型数据库的连接对象,相当于Java程序和数据库的通信桥梁

1.获取执行语句对象

  • 获取静态语句执行对象: Statement createStatement();
  • 获取预编译语句执行对象: PreparedStatement prepareStatement(String sql);
  1. 释放资源 关闭连接对象: void close();

  2. 事务

3.3 Statement

Statement:静态SQL语句执行对象,用于执行字符串的 SQL 语句

  1. 执行 DML / DDL 语句 : int executeUpdate(String sql);

返回值 : DML 受影响的行数,DDL 则返回 0

参数:insert、update、delete、create语句

  1. 执行 DQL 语句:ResuleSet executeQuery(String sql);

返回值:执行查询之后的结果数据

参数:select 语句

JDBC事务

事物是指将一组操作括为一个操作,为确保数据库中的数据的一致性,操作以组为单元,当组里的操作有一部分失败,整事物都为失败,所有操作都会退回到开始的状态

事物的ACID属性

  • 原子性:不可以被拆分
  • 一致性:保证数据的完整性,数据不被破坏
  • 隔离性:事物的执行不能被其他的事务干扰
  • 持久性:指的是事务一旦提交,他对数据的改变就是永久性的

连接池思想

    普通的JDBC数据库连接使用,DriverManager来获取,每次连接的时候都要将Connection加载到内存里面,每次使用完之后都会断开连接,需要的的时候又重新连接,数据库连接对象没有很好的利用,人数多了就会有系统崩溃的风险

连接池就是一个容器,里面装的都是连接对象需要的时候就在连接池里面取一个,用完了再放回去;

你可能感兴趣的:(JDBC)