java 不可不知的数据库知识-----事物

每一个java开发对数据库都不会陌生,提到数据库,那么就一定要了解的一个知识点------事物,下面就对事物简单记录一下相关知识点。

最初接触事物的时候其实是从JDBC事物开始的,JDBC比较基础,这里不做太多解释(网上一大堆)。

  • 事物的四大特性
  1. 原子性:顾名思义,原子是目前科学技术上不可再分的最小单位,事物的原子性是指一个事物是一个整体,要么全部成功,要么全部失败。
  2. 一致性:事物的一致性官方的解释:事物必须是数据库从一个一致性状态到另一个一致性状态,这个理解起来有些复杂,其实一致性就是数据库中的数据操作要保证数据的一致,不能凭空增减。
  3. 隔离性:这个比较好理解,就是不同的事物之间不能彼此干扰。
  4. 持久性:事物的持久性就是事物一旦提交,那么这个事物对数据库的操作是永久性的。
  • 事物的隔离级别

说明:在多线程的程序下,多线程各自开启了自己的事物进行数据库操作时,数据库要保证隔离操作,以保证各个线程获取数据时的准确性。

  1. 如果不考虑事物的一致性会引起哪些后果呢

    1. 脏读:即一个事物读取了另一个事物未提交的数据
    2. 不可重复读:即一个事物前后读取数据库得到的数据不一致
    3. 虚读:即在一个事物内读到了另一个事物将要插入的数据,导致前后读取不一致
  2. Mysql四种隔离级别
    1. Serializable(串行化):可避免脏读、不可重复读、虚读
    2. Repeatable read(可重复读):可避免脏读、不可重复读
    3. Read committed(读已提交):只可避免脏读
    4. Read umcommitted(读未提交):最低级别,不可避免任何情况

以上是学习事物的随笔,希望各位大大多多指正,谢谢!

参考:大神孤傲苍狼博客:https://www.cnblogs.com/xdp-gacl/p/3984001.html

原文地址:https://www.cnblogs.com/bestxyl/p/9803221.html

时间: 2024-11-09 00:32:39

java 不可不知的数据库知识-----事物的相关文章

java jdbc 连接mysql数据库 实现增删改查

好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate.Mybatis. 但是作为这些成熟框架的底层的jdbc却也是我们应该去掌握的,只有了解了jdbc的增删改查,这样在以后如果有兴趣去研究Hibernate或者Mybatis的源代码的

[Java面试三]JavaWeb基础知识总结.

1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. • 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同. l 静态web资源开发技术 • Html l 常用动态web资源开发技术: • JSP/Servlet.ASP

数据库知识回顾

下载地址 http://www.newasp.net/soft/30867.html#downloads win7 64位 .sqlserver2008 安装 http://www.cnblogs.com/lyhabc/articles/3536047.html 打开 登陆 超级用户:sa 密码:123456 下面这张图是数据库分离用的. 5.数据库知识 xml数据库 查询效率高 完整性约束:对数据的约束. 用户定义完整性:男即男,女即女. 参照完整性:有所参照.关系与关系间的引用 实体完整性:

JAVA中连接mysql数据库

上周做了数据库的课程设计,用的是java语言和mysql数据库,其中就涉及java连接数据库的相关知识. 首先我们需要添加一个jar文件,就相当于连接的一个驱动文件,这里我添加的是这个文件:mysql-connector-java-5.1.13-bin.jar 然后我们就可以进行数据库的连接了,在java里面进行一些数据库中的操作:增,删,改,查: 然后在java中创建一个user类,在mysql中创建一个user表: package entity; public class user { pr

【Mysql】Java中对Mysql数据库的增删改查、Java的System类

这部分也是所谓JDBC.网站数据源的内容,把名字弄得很高深似得,实际上只是Java中对Mysql数据库的增删改查的内容.非常简单,之前写了这么多Mysql的内容,没好好总结一下,实在是不应该.今天就实现一个Java中对Mysql数据库的增删改查,随便带点Java取出当前系统的系统名与系统时间的知识,完成一个还算有点意思的小例子. 一.基本目标 首先,在Mysql数据库中有一张名为testtable的空表,id为自增列,username,class都是文本列,但是class里面都存放数字,也就是整

Sybase数据库技术,数据库恢复---分享Sybase数据库知识(博客文章索引@51cto)

Sybase数据库技术,数据库恢复分享Sybase数据库知识 博客文章列表,更新时间:2014-12-14 Sybase数据库技术,数据库恢复 站点地图 最新文章 ASE使用with ignore_dup_row删除重复数据  (评论 0   阅读 50) ASE 16静默方式安装并创建服务器  (评论 0   阅读 80) ASE执行sp_remotesql报错:Msg 11224, Level 16, State 2  (评论 0   阅读 72) Sybase支持浪潮天梭K1系统  (评论

数据库知识整理<二>

又继续写的博客,希望自己能坚持每天写博客.分享自己的点滴,对自己成长有帮助.今天下午高强度打了三个小时篮球,小腿都抽筋了.很爽,失落的心情似乎变得开明了一些.想到了一句话:“像SB式的坚持总会有好的收获”,因为坚定了目标,不达目标不罢休.其他的就没什么了.好吧,不多说这些了.继续数据库知识总结吧. 二,管理数据库和表: 2.1管理数据库: 创建和使用数据库: 创建数据库的SQL语句:create database 数据库名: 需要注意的是:数据库名在服务器中必须是唯一的并且遵循合法的标识符规则:

Java实现Excel导入数据库,数据库中的数据导入到Excel

实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的lib目录下­ 2.Excel文件目录:D://book.xls 3.数据库名:javenforexcel 4.表名:stu 5.编写类:连接mysql的字符串方法.插入的方法.实体类­­ 表结构如下 : 连接数据库的工具类 package com.javen.db; import java.sql.Co

数据库知识整理

关系型数据库知识整理: 一,关系型数据库管理系统简介: 1.1使用数据库的原因: 降低存储数据的冗余度 提高数据的一致性 可以建立数据库所遵循的标准 储存数据可以共享 便于维护数据的完整性 能够实现数据的安全性 1.2基本概念: 对于任何数据库来说,表之间的关联关系存在三种基本的关系类型:一对一,一对多,多对多仅此三种. 目前流行的关系型数据库服务器管理系统有:微软-MS SQL Server.甲骨文-Oracle.IBM-DB2.开源的MySql和PostgreSQL等.(在面试中有被问到过)