摘要:
十三、处理并发 1、事务的隔离级别 不考虑隔离级别出现的问题: 脏读:一个线程中的事务读到了另外一个线程中未提交的数据。 不可重复读:一个线程中的事务读到了另外一个线程中提交的update(更新)的数据。 虚读:一个线程中的事务读到了另外一个线程中提交的insert(插入)的数据。 事务的隔离级别: 阅读全文
摘要:
十一、Hibernate的检索策略 1、概述: 查询的时机:什么时候去查? 2、类级别的检索策略 只影响Session的load()方法 Session.get()方法:永远都是立即加载。 Query.list()方法:立即检索。 Session.load()方法:默认是延迟加载。(load可以改为 阅读全文
摘要:
十、多表映射 0、内容补充:数据完整性 作用:防止用户的误操作。 实体完整性:主键。用于确定表中唯一的一条记录。 域完整性:表中的字段。 数据类型约束: 非空约束: 唯一约束: 参照完整性: 多表设计:表之间的关系 一对多(用的最多的) 多对多(比较重要) 一对一(实际开发中,根本不用) 1、一对多 阅读全文
摘要:
九、Session中的常用方法 1、save方法 都是临时态————>持久态 2、persist方法 作用: 持久化临时态对象。 与save方法的区别: 开始了事务:persist和save没有区别。 不开启事务: persist:什么都不会做。 save: hibernate3:计划保存数据,因为 阅读全文
摘要:
五、映射基础 1、实体类采用javabean的编写规范 JavaBean编写规范: a、类一般是public的 b、有默认的构造方法 c、字段都是私有的 d、提供公有的getter和setter方法 e、一般都实现java.io.Serializable接口 注意:hibernate采用的暴力反射 阅读全文
摘要:
一、Hibernate简介 1、Hibernate在开发中所处的位置 2、ORM映射 Object :面向对象领域的 Relational:关系数据库领域的 Mapping:映射 Object: Relational public class Person{ create table presons 阅读全文
摘要:
十五、contextMap 1、动作类的生命周期 明确:动作类是多例的,每次动作访问,动作类都会实例化。所以是线程安全的。与Struts1的区别是,struts1的动作类是单例的。 2、请求动作的数据存放 问题: 每次请求时,都会产生一些请求数据,这些数据存放到哪里去了? 明确: 在每次动作执行前, 阅读全文
摘要:
十二、Struts2中的拦截器 1、拦截器的重要性 Struts2中的很多功能都是由拦截器完成的。比如:servletConfig,staticParam,params,modelDriven等等。 是AOP编程思想的一种应用形式。 2、拦截器的执行时机: \ 3、自定义拦截器 3.1、拦截器的类试 阅读全文
摘要:
九、封装请求正文到对象中 1、静态参数封装 在struts.xml配置文件中,给动作类注入值。调用的是setter方法。 原因:是由一个staticParams的拦截器完成注入的。 2、动态参数封装:开发时用到的 通过用户的表单封装请求正文参数。 2.1、动作类作为实体模型 实体模型:Entity, 阅读全文
摘要:
三、Struts2的配置文件 1、加载时机: 当应用被tomcat加载的时候,struts2的配置文件就已经被加载过了。 2、加载顺序 顺序 配置文件名 所在位置 说明 1 default.properties struts2-core-2.3.15.3.jar\org\apache\struts2 阅读全文
摘要:
一、Struts2简介 1、Struts2概述 Struts2是Apache发行的MVC开源框架。注意:它只是表现层(MVC)框架。 2、Struts2的来历 Struts1:也是apache开发的一套mvc的开源框架。在2005年之前非常流行。 弊端:Struts1的核心控制器就是一个Servle 阅读全文