




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,SSH2框架搭建,版本:struts2.1.6spring2.5.6hibernate3.3.1,.,2,SSH2与SSH1之简要比较,SSH框架的优势开发效率高适应客户的需求随机变化SSH1框架的劣势繁琐的配置文件编写struts1.XAction线程安全,仅允许一个实例去处理所有请求Forward过于繁琐对Servlet依赖过强,.,3,SSH2与SSH1之简要比较,SSH2优势大量简化配置文件编写。更大程度解耦合Struts不再依赖Servlet通配符配置注解使用,.,4,struts2使用,struts2借鉴webwork的成功之处,兼容struts1,集合两者优点,更易于整合spring及hibernate框架。所需jar包:,.,5,struts2相关配置,web.xml文件配置与struts1不同,struts2采用Filter进行配置strutsorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts*.do,.,6,struts2相关配置,struts.xml文件配置在项目src目录下添加struts.xml配置文件。其基本配置如下:,.,7,struts2相关配置,struts.xml常用配置为简化配置文件编写,struts2提供通配符支持,如下:同时,struts2还支持*/*的配置模式,在配置文件中节点下配置如下:则以上配置可改写为:,.,8,struts2相关配置,struts.xml常用配置struts2默认访问后缀为.action,不符合访问习惯,且过于繁琐,可在标签下配置如下:则可使用习惯的.do方式访问,.,9,整合spring框架,添加spring核心包及struts2-spring-plugin-2.1.6.jar。src目录下添加applicationContext.xml文件。web.xml配置:contextConfigLocationclasspath*:applicationContext*.xmlorg.springframework.web.context.ContextLoaderListener,.,10,spring相关配置,applicationContext.xml常用配置dataSource配置:oracle.jdbc.OracleDriverjdbc:oracle:thin::1521:ORADBscotttiger,.,11,spring相关配置,applicationContext.xml常用配置:sessionFactory配置:org.hibernate.dialect.Oracle9iDialecttrueupdatecom.ssh.*.model,.,12,spring相关配置,applicationContext.xml常用配置事务配置:,.,13,spring相关配置,applicationContext.xml常用配置自动装配:,.,14,整合spring后struts配置,struts.xml配置在标签下配置:此时Action配置可修改如下:,.,15,整合hibernate,添加hibernate核心包。无需编写配置文件,相关配置已在spring配置文件applicationContext.xml中完成。,.,16,SSH2框架开发相关注解,spring自动装配相关注解:RepositoryDao类自动注入Service业务类自动注入ControllerAction自动注入AutoWare自动装配已注入,.,17,JPA相关注解,用于领域建模:Entity(name=EntityName)必须,name为可选,对应数据库中一的个表Table(name=,catalog=,schema=)可选,通常和Entity配合使用,只能标注在实体的class定义处,表示实体对应的数据库表的信息name:可选,表示表的名称.默认地,表名和实体名称一致,只有在不一致的情况下才需要指定表名catalog:可选,表示Catalog名称,默认为Catalog().schema:可选,表示Schema名称,默认为Schema(“”).id必须id定义了映射到数据库表的主键的属性,一个实体只能有一个属性被映射为主键.置于getXxxx()前.,.,18,JPA相关注解,GeneratedValue(strategy=GenerationType,generator=)可选strategy:表示主键生成策略,有AUTO,INDENTITY,SEQUENCE和TABLE4种,分别表示让ORM框架自动选择,根据数据库的Identity字段生成,根据数据库表的Sequence字段生成,以有根据一个额外的表生成主键,默认为AUTOgenerator:表示主键生成器的名称,这个属性通常和ORM框架相关,例如,Hibernate可以指定uuid等主键生成方式.示例:IdGeneratedValues(strategy=StrategyType.SEQUENCE)publicintgetPk()returnpk;,.,19,JPA相关注解,Basic(fetch=FetchType,optional=true)可选Basic表示一个简单的属性到数据库表的字段的映射,对于没有任何标注的getXxxx()方法,默认即为Basicfetch:表示该属性的读取策略,有EAGER和LAZY两种,分别表示主支抓取和延迟加载,默认为EAGER.optional:表示该属性是否允许为null,默认为true示例:Basic(optional=false)publicStringgetAddress()returnaddress;,.,20,JPA相关注解,Column可选Column描述了数据库表中该字段的详细定义,这对于根据JPA注解生成数据库表结构的工具非常有作用.name:表示数据库表中该字段的名称,默认情形属性名称一致nullable:表示该字段是否允许为null,默认为trueunique:表示该字段是否是唯一标识,默认为falselength:表示该字段的大小,仅对String类型的字段有效insertable:表示在ORM框架执行插入操作时,该字段是否应出现INSETRT语句中,默认为trueupdateable:表示在ORM框架执行更新操作时,该字段是否应该出现在UPDATE语句中,默认为true.对于一经创建就不可以更改的字段,该属性非常有用,如对于birthday字段.columnDefinition:表示该字段在数据库中的实际类型.通常ORM框架可以根据属性类型自动判断数据库中字段的类型,但是对于Date类型仍无法确定数据库中字段类型究竟是DATE,TIME还是TIMESTAMP.此外,String的默认映射类型为VARCHAR,如果要将String类型映射到特定数据库的BLOB或TEXT字段类型,该属性非常有用.示例:Column(name=BIRTH,nullable=false,columnDefinition=DATE)publicStringgetBithday()returnbirthday;,.,21,JPA相关注解,Transient可选Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性.如果一个属性并非数据库表的字段映射,就务必将其标示为Transient,否则,ORM框架默认其注解为Basic示例:/根据birth计算出age属性TransientpublicintgetAge()returngetYear(newDate()-getYear(birth);,.,22,JPA相关注解,ManyToOne(fetch=FetchType,cascade=CascadeType)可选ManyToOne表示一个多对一的映射,该注解标注的属性通常是数据库表的外键optional:是否允许该字段为null,该属性应该根据数据库表的外键约束来确定,默认为truefetch:表示抓取策略,默认为FetchType.EAGERcascade:表示默认的级联操作策略,可以指定为ALL,PERSIST,MERGE,REFRESH和REMOVE中的若干组合,默认为无级联操作targetEntity:表示该属性关联的实体类型.该属性通常不必指定,ORM框架根据属性类型自动判断targetEntity.示例:/订单Order和用户User是一个ManyToOne的关系/在Order类中定义ManyToOne()JoinColumn(name=USER)publicUsergetUser()returnuser;,.,23,JPA相关注解,JoinColumn可选JoinColumn和Column类似,介量描述的不是一个简单字段,而一一个关联字段,例如.描述一个ManyToOne的字段.name:该字段的名称.由于JoinColumn描述的是一个关联字段,如ManyToOne,则默认的名称由其关联的实体决定.例如,实体Order有一个user属性来关联实体User,则Order的user属性为一个外键,其默认的名称为实体User的名称+下划线+实体User的主键名称示例:见ManyToOne,.,24,JPA相关注解,OneToMany(fetch=FetchType,cascade=CascadeType)可选OneToMany描述一个一对多的关联,该属性应该为集体类型,在数据库中并没有实际字段.fetch:表示抓取策略,默认为FetchType.LAZY,因为关联的多个对象通常不必从数据库预先读取到内存cascade:表示级联操作策略,对于OneToMany类型的关联非常重要,通常该实体更新或删除时,其关联的实体也应当被更新或删除例如:实体User和Order是OneToMany的关系,则实体User被删除时,其关联的实体Order也应该被全部删除示例:OneTyMany(cascade=ALL)publicListgetOrders()returnorders;,.,25,JPA相关注解,OneToOne(fetch=FetchType,cascade=CascadeType)可选OneToOne描述一个一对一的关联fetch:表示抓取策略,默认为FetchType.LAZYcascade:表示级联操作策略示例:OneToOne(fetch=FetchType.LAZY)publicBloggetBlog()returnblog;,.,26,JPA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师招聘之《小学教师招聘》综合提升试卷含答案详解(培优a卷)
- 国际节水农业示范合作创新创业项目商业计划书
- 动物源性食品新产品创新创业项目商业计划书
- 演出经纪人之《演出经纪实务》综合练习及答案详解(网校专用)
- 押题宝典教师招聘之《幼儿教师招聘》试题及答案详解(夺冠)
- 教师招聘之《幼儿教师招聘》考试黑钻押题附答案详解【考试直接用】
- 2025内蒙古呼伦贝尔选聘政务服务社会监督员9人笔试备考附答案详解(考试直接用)
- 2025年教师招聘之《幼儿教师招聘》题库必背100题附答案详解(突破训练)
- 2025年教师招聘之《小学教师招聘》能力检测试卷及答案详解【全优】
- 2025年教师招聘之《幼儿教师招聘》押题练习试卷及参考答案详解(巩固)
- 《颅骨骨折》课件
- 整体施工劳务服务方案
- DBJT13-119-2010 福建省住宅工程质量分户验收规程
- 家校社协同育人机制创新
- 反对自由主义-全文-原文
- 2025年计算机等级考试二级WPS Office高级应用与设计试题与参考答案
- 战略管理知到智慧树章节测试课后答案2024年秋华南理工大学
- 华电社招考试题库
- 《劳动工具的改进设计》六年级综合实践课件
- 村级换届业务培训
- 2024装修施工安全合同样本
评论
0/150
提交评论