#是什么及作用
#是数据访问对象 : 负责管理与数据源的连接来获取和储存其中的数据
'中的(与)的区别
在 ) 中我们使用 20 进行 2 查询时需要引用参数,在参数引用中遇到的符号P和N之间的区分
为,P可以进行与编译,进行类型匹配,而N不进行数据类型匹配,例如:
#6##)#(##;#PP#,其中如果字段 为字符型,那么PP表示的就是QQ类型,
如果 为整型,那么PP就是 类型。
#6##)#(##;#NN#,如果字段 为整型,2 语句就不会出错,但是如果字段 为
字符型,那么 2 语句应该写成 #6##)#(##;#QNNQ
$ 的实现原理
'、客户端初始化一个指向 & 容器(例如 )的请求
$、这个请求经过一系列的过滤器(7)(这些过滤器中有一个叫做 :*M 的可选过
滤器,这个过滤器对于 $ 和其他框架的集成很有帮助,例如:0#5J);
-、接着 7 被调用,7 询问 :0 来决定这个请求是否需要调用某
个 :;
/、如果 :0 决定需要调用某个 :,7 把请求的处理交给 :5*1;
%、:5*1 通过 AJ#0J 询问框架的配置文件,找到需要调用的 : 类;
I、:5*1 创建一个 :& 的实例。
< 、 :& 实 例 使 用 命 名 模 式 来 调 用 , 在 调 用 : 的 过 程 前 后 , 涉 及 到 相 关 拦 截 器
()的调用。
!、一旦 : 执行完毕,:& 负责根据 * 中的配置找到对应的返回结果。返回结
果通常是(但不总是,也可能是另外的一个 : 链)一个需要被表示的 D5 或者 70@ 的模版。在
表示的过程中可以使用 $ 框架中继承的标签。在这个过程中需要涉及到 :0
简述 *+的事务传播行为和 隔离级别
####*+的事务传播行为: *+ 在 ,-. 接口中规定了 种类型的事务传播行为,
它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播:
55:R:LM:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到
这个事务中。这是最常见的选择。
55:R:M55:支持当前事务,如果当前没有事务,就以非事务方式执行。
55:R:0:::使用当前的事务,如果当前没有事务,就抛出异常。
55:R:LM,:新建事务,如果当前存在事务,把当前事务挂起。
55:R:M55:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
55:R:G:以非事务方式执行,如果当前存在事务,则抛出异常。
55:R::如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与
55:R:LM 类似的操作。
*+的隔离级别
'、B):最严格的级别,事务串行执行,资源消耗最大;
$、5::93#::保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据。避
免了“脏读取”和“不可重复读取”的情况,但是带来了更多的性能损失。
-、:#00F大多数主流数据库的默认事务等级,保证了一个事务不会读到另一个并行事务已
修改但未提交的数据,避免了“脏读取”。该级别适用于大多数系统。
/、#M:保证了读取过程中不会读取到非法数据。
# 写一段把本地文件 A 拷贝到本地文件 A 的程序
)##JDD&#S
)##&#JTU#J#S
评论0
最新资源