摘要:
day18总结 今日思维导图: 今日内容 事务 连接池 ThreadLocal BaseServlet自定义Servlet父类(只要求会用,不要求会写) DBUtils à commons-dbutils 事务 事务的四大特性:ACID; mysql中操作事务 jdbc中操作事务 事务概述 为了方便演示事务,我们需要创建一个account表: CREATE TABLE ac... 阅读全文
摘要:
day17 JDBC整体思维导图 JDBC入门 导jar包:驱动! 加载驱动类:Class.forName("类名"); 给出url、username、password,其中url背下来! 使用DriverManager类来得到Connection对象! 1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Ja... 阅读全文
摘要:
数据库锁的基本原理 为了保证数据的完事性和一致性,数据库系统采用锁来实现事务的隔离性。各种大型数据库采用的锁基本理论是一致的,但在具体实现上各有差别。 从并发事务锁定的关系上看,可以分为共享锁定和独占锁定。从锁定的对象不同,一般可以分为表锁定和行锁定。 锁 共享锁用于读取数据操作,它是非独占的,允许其他事务同时读取其锁定的资源,但不允许其他事务更新它。 独占锁也叫排他锁,适用于修改数据的场合。它所... 阅读全文
摘要:
JDK动态代理 1 什么是JDK动态代理 刚刚写ItcastConnection时爽么?因为Connection中的方法太多了,每个都要写,所以很累吧。累点到是没什么,可以完成功能就是好的。但是不是什么时候可以用代理的,有时你可能会遇到要代理的东西,只有在运行时才能知道,所以你不可能先把代理写出来!这时就需要使用动态代理。 JDK动态代理是JavaSE中一个高级特性,不是那么好理解的,但是它可... 阅读全文
摘要:
7 并发事务问题之丢失更新 丢失更新:一个事务的更新被另一个事务的更新覆盖了; 时间点事务1事务2t1开始事务t2开始事务t3查询pid=p1的记录结果为[pid=p1,pname=zhangSan,age=23,sex=male]t4查询pid=p1的记录结果为[pid=p1,pname=zhangSan,age=23,sex=male]t5修改age=24,其它保留原值,即... 阅读全文
摘要:
day18总结 今日思维导图: 今日内容 事务 连接池 ThreadLocal BaseServlet自定义Servlet父类(只要求会用,不要求会写) DBUtils à commons-dbutils 事务 事务的四大特性:ACID; mysql中操作事务 jdbc中操作事务 事务概述 为了方便演示事务,我们需要创建一个account表: CREATE TABLE ac... 阅读全文
摘要:
JDBC详解1 JDBC整体思维导图 JDBC入门 导jar包:驱动! 加载驱动类:Class.forName("类名"); 给出url、username、password,其中url背下来! 使用DriverManager类来得到Connection对象! 1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用... 阅读全文
摘要:
MySQL的预编译功能 预编译的好处 大家平时都使用过JDBC中的PreparedStatement接口,它有预编译功能。什么是预编译功能呢?它有什么好处呢? 当客户发送一条SQL语句给服务器后,服务器总是需要校验SQL语句的语法格式是否正确,然后把SQL语句编译成可执行的函数,最后才是执行SQL语句。其中校验语法,和编译所花的时间可能比执行SQL语句花的时间还要多。 如果我们需要执行多次inse... 阅读全文