一.概述
1.数据的持久化
持久化:把数据保存到可掉电式存储设备中以供之后使用。数据持久化意味着将内存中的数据保存到硬盘,持久化的实现过程大多通过各种关系数据库来完成。
2.体系结构
3.JDBC程序编写步骤
二.获取数据库连接
1.URL
举例:
①
②
③
④
⑤
三.使用prepared statement实现crud操作
1.statement操作数据存在弊端
2.使用preparedstatement来替换statement,实现对数据表的增删改操作
四.查询操作
1.图解查询操作的流程
2.preparedstatement的好处
五.操作blob类型字段
1.MySQL blob类型
MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。
插入BLOB类型的数据必须使用PreparedStatement 因为BLOB类型的数据无法使用字符串拼接写的。
MySQL的四种BLOB类型(除了在存储的最大信息量上不同外,他们是等同的)
2.使用preparedstatement实现批量数据的操作
update,delete本身就具有批量操作的效果。批量操作指的是批量插入
prepared statement 和 statement
3.Java与SQL对应数据类型转换表
六.数据库事务
1.介绍
事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态
事务处理(事务操作):保证所有事务都作为一个工作 单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事 务都被提交(commit),那么这些修改就永久地保存下来:要么数据库管理系统将放弃所作的所有修改,整个事务回滚(rollback)到最初状态。
数据一旦提交,就不可回滚
为确保数据库中数据的一致性,数据的操纵应当是高散的成组的逻辑单元:当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失败,整个事务应全部视为错误,所有从起始点以后的操作应全部回退到开始状态。
哪些操作会导致数据的自动提交
①DDL操作一旦执行,就会自动提交
set autocommit=false对DDL操作失效
②DML默认情况下,一旦执行,就会自动提交
我们可以通过set autocommit=false的方式取消DML操作的自动提交
③默认在关闭连接时,会自动的提交数据
2.事务的ACID属性
3.四种隔离级别
数据库提供的4种事务隔离级别
设置隔离级别
①查看当前的隔离级别:
SELECT @@tx_isolation;
②设置当前MySQL连接的隔离级别
set transaction isolation level read committed;
③设置数据库系统的全局的隔离级别
set global transaction isolation level read committed;
七.数据库连接池
1.基本思想
为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从:缓冲池“中取出一个,使用完毕之后再放回去。
数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重现建立一个。