天天看点

JDBC+JavaWeb

PreparedStatement可以操作Blob类型的文件

PreparedStatement执行相同的预编译的SQL语句时,不会每次都重新编译。所以效率远高于Statement

使用addBatch()、executeBatch()和clearBatch

事务是一组逻辑处理单元,使数据从一种状态变为另一种状态

一组逻辑操作单元:一个或多个DML操作

事务处理(事务操作):保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交(commit),那么这些修改就永久地保存下来;要么数据库管理系统将放弃所作的所有修改,整个事务回滚(rollback)到最初状态。

为确保数据库中数据的一致性,数据的操纵应当是离散的成组的逻辑单元:当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失败,整个事务应全部视为错误,所有从起始点以后的操作应全部回退到开始状态。

那些操作会导致数据的自动提交

DDL操作一旦执行,都会自动提交。

set autocommit=false 对DDL无效

DML默认情况下,一旦执行,就会自动提交。

set autocommit=false 就会取消DML自动提交

关闭连接时会自动提交数据

取消自动提交

提交数据

遇到异常进行回滚

原子性(Atomicity)

原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。

一致性(Consistency)

事务必须使数据库从一个一致性状态变换到另外一个一致性状态。

隔离性(Isolation)

事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

持久性(Durability)

持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响。

读未提交——出现脏读、不可重复度、幻读

读已提交——出现不可重复度、幻读

可重复读——出现幻读

串行化——都可以解决,但是并发性差

**一般来说,数据库只要避免脏读就可以。 **

为解决开发中的数据库连接问题,采用数据库连接池技术。

javaweb是所有通过java语言编写可以通过浏览器访问的程序的总称

javaweb是基于请求和响应开发的

请求:请求是客户端向服务器发送数据,叫请求 Request

响应:服务器给客户端回传数据,叫响应 Response

请求和响应是成对出现的

web资源按实现的技术和呈现效果的不同,分为静态资源和动态资源

静态资源:html、css、js、mp4、jpg等等

动态资源:jsp页面、Servlet程序等

常用的服务器:Tomcat(轻量级javaweb服务器)、Jboss(支持所有JavaEE规范)

Servlet程序2.5版本是现在市面使用最多的版本

到了3.0之后,就是注解版本的Servlet使用

如何访问tomcat下的目录

localhost:8080/book/index.html

为数据库建立一个缓冲池,预先在缓冲池中放入一定量的连接当需要建立连接时,只需从缓冲池中取出一个,用完再放回去。