事务(ACID)、JDBC

事务

一个业务操作包含了多个数据操作(SQL CRUD),被称为一个事务操作,事务操作遵循 ACID 原则

CRUD 增删改查 Create Read Update Delete

ACID 原则

  • A 原子性,事务中的多个数据操作是一个整体,不可分割
  • C 一致性,多个数据操作的执行结果/状态一致,都成功(提交),都失败(回滚)
  • I 隔离性,多个事务互相隔离;隔离级别
    • 读未提交
    • 读已提交
    • 可重复读
    • 顺序/串行
  • D 持久性,事务提交后,状态写入磁盘

导出数据使用 mysqldump

mysqldump -u root -p databaseName > 导出目的地

导入数据使用

1、创建数据库:create databaseName

SQL TCL

  • begin 开启手动提交方法 / 关闭默认的自动提交
  • commit 提交
  • rollback 回滚 / 撤销
  • savepoint 保存点

存储过程

一个命名的 SQL 程序块,里面有多条 SQL 语句,编译后存储在数据库中,可以直接调用过程

参数的模式

  • IN 传入参数,默认值
  • OUT 参数值在过程运行结束后可读取
  • INOUT 参数值可传入,可读取
过程函数
命名程序块命名程序块
存储存储在数据库存储在数据库
执行独立执行不能独立执行,嵌入在SQL中运行
参数有,IN,OUT,INOUT,默认IN
返回值没有,可以获得OUT,INOUT的参数值必须有
调用其他语言可以像使用SQL一样调用过程不能调用
内部声明变量、使用流程控制,SQL声明变量、使用流程控制、SQL

密码加密/编码

select md5('123'), sha1('123'), sha2('123',256);

JDBC 规范:使用Java访问关系数据库,提供一个统一的接口,但没有具体实现,由数据库厂商完成具体实现(驱动程序)

  • 导入、加载 JDBC 驱动程序(MySQL、Oracle)
  • 从驱动管理,DriverManager 创建数据库连接,Connection,url、user、password(TCP套接字完成应用与数据库的会话)
  • 使用 Connection 创建语句 Statement(封装了 SQL 语句或者存储过程
  • 填充参数,执行 Statement 语句,返回结果集ResultSet
  • ResultSet 获得查询的数据 (遍历结果集)
  • 操作结束时,释放所有打开的资源,与打开资源的顺序相反

类和接口 java.sql.*javax.sql


java.sql包下

  • DriverManager
  • Connection
  • Statement 这三个是继承关系
    • PreparedStatement 封装预编译语句
      • CallableStatement 封装call 存储过程语句
  • ResultSet

javax.sql包下

  • javax.sql.DataSource

JDBC 抽象工厂 设计模式

基于反射、字节码生成、XML ——> Hibernate(冬眠)、iBatista/myiBatista、JDO、TopLink
封装了 JDBC 中重复的、模板化的内容框架 — ORM(对象关系映射)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值