l 事务 l 连接池 l ThreadLocal l BaseServlet自定义Servlet父类(只要求会用,不要求会写) l DBUtils à commons-dbutils 事务 l 事务的四大特性:ACID: l mysql中操作事务 l jdbc中操作事务 事务概述 为了方便演示事务,我们需要创建一个account表: CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(30), balance…
事务 Transaction  其实指的一组操作,里面包含许多个单一的逻辑.只要有一个逻辑没有执行成功,那么都算失败. 所有的数据都回归到最初的状态(回滚) 事务的作用:为了确保逻辑的成功. 例子: 银行的转账. 命令行方式:开启事务    start transaction;提交或者回滚事务    commit; 提交事务, 数据将会写到磁盘上的数据库    rollback ;  数据回滚,回到最初的状态.关闭自动提交功能show variable like '%commit%';查看aut…
一.DAO设计模式概述###<1>概念 DAO,Data Access Object ,用于访问数据库的对象. 位于业务逻辑和数据持久化层之间,实现对数据持久化层的访问![](1.png) ###<2>作用 隔离了业务层和数据访问层,将两层进行解耦 隔离了不同数据库的实现 增强的程序的可移植性和可扩展性 ![](2.png) ###<3>组成 1. DAO接口(内存插槽的标准):定义操作数据的接口,CRUD 2. DAO实现类(不同内存条厂商生成的内存条):DAO接口的…
一.MyBatis连接池及事务控制 1.连接池 在实际开发中,都会使用连接池,因为它可以减少获取连接缩消耗的时间.所谓连接池,就是存储数据库连接的容器.连接池中存储一定数量的数据库连接,当线程需要使用到连接时,就从连接池中获取数据库连接,线程使用完数据库连接会还回连接池中. 连接池:其实就是一个集合对象,该集合必须是线程安全的:而且线程必须实现对列,满足 " 先进先出 " 的特性. 2.MyBatis中的连接池 三种配置方式 配置位置:MyBatis主配置文件中,<dataSou…
MyBatis 连接池和事务控制 文章源码 MyBaits 连接池 实际开发中都会使用连接池,因为它可以减少获取连接所消耗的时间.具体可查看 MyBatis 数据源配置在 SqlMapConfig.xml 中的 dataSource 标签,type 属性就是表示采用何种方式,它提供了三种方式的配置: POOLED 采用传统的 javax.sql.DataSource 接口中的连接池,MyBatis中有针对此接口的实现 UNPOOLED 采用传统的获取连接的方式,虽然也实现 javax.sql.D…
原文:https://github.com/x113773/testall/issues/10 默认连接池---spring Boot中默认支持的连接池有Tomcat.HikariCP .DBCP .DBCP2,以下摘自[官方文档](http://docs.spring.io/spring-boot/docs/1.5.4.RELEASE/reference/htmlsingle/#boot-features-configure-datasource):> Production database…
这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 31.线程池复用的原理 32.spring是什么? 33.对Aop的理解 34.对IOC的理解 35.BeanFactory和ApplicationContext有什么什么区别? 36.简述spring bean的生命周期 37.spring支持的几种bean作用域 38.Spring框架中的单例Bean是线程安全的吗 39.spring框架中使用了哪些设计模式及应用场景 40.spring事务的实现方式原理以及隔离级…
在实际的业务场景中,并发读写引出了和事务控制的需求.优秀的事务处理能力是关系型数据库(特别是oracle等商用RDBMS)相对于正当风口的NoSQL数据库的一大亮点.但这也从另一方面说明了事务控制的复杂性--正因为过于复杂,大部分NoSQL都没提供事务支持或只提供部分事务支持. ACID 一个数据库事务是"一个被视为单一的工作单元的操作序列".一个良好的事务处理系统,必须具备四个标准特性: 原子性(Atomicity):一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作…
开两个cmd窗口,相当于两个事务. read-uncommitted这种级别是解决不了任何问题的,它什么情况都能出现.刚才演示了脏读,再演示就出现了不可重复读. read-committed隔离级别能解决脏读问题. read-committed是解决了脏读的问题,但是还是出现了不可重复读的问题. 可能有的人会认为这没有问题,A事务提交commit之后我B事务读到没问题啊,这是正确的.这种情况在开发里面有时候是没有问题的有时候是有问题的.如果我现在要做报表,现在查询的数据要做成报表导出来,导成文件…
一.事务部分 1.事务的简介 做一件事情,这个一件事情中有多个组成单元,这个多个组成单元要不同时成功,要不同时失败.A账户转给B账户钱,将A账户转出钱的操作与B账户转入钱的操作绑定到一个事务中,要不这两个动作同时成功,代表这次转账成功,要不就两个动作同时失败,代表这次转账失败. 2.mysql的事务控制 mysql默认事务是自动提交的,一条sql是一个事务 手动开启事务:start transaction 当手动开启事务后,数据库默认的事务的自动提交暂时失效 提交事务:commit 提交事务到开…