Spring, Hibernate与Struts集成的大概思路

Oracle查询优化神器:Hint命令使用大全 Oracle Hint是一种嵌入在SQL注释中的特殊指令,用于指导优化器选择执行计划。主要分为访问路径Hint(FULL、INDEX等)、连接顺序Hint(ORDERED、LEADING)、连接方法Hint(USE_NL、USE_HASH等)、并行执行Hint(PARALLEL)和高级Hint(MATERIALIZE、FIRST_ROWS等)。使用时需遵循特定语法格式,可通过执行计划对比验证效果。需注意Hint可能因语法错误、别名不匹配等原因失效,建议先分析后逐步添加,并定期复查。合理使用Hint能优化查询 阅读详情

 

这篇文章是笔者在再次读了夏昕的《Spring Guide》后的一些总结。由于本人最熟悉的是Struts,而对Spring、Hibernate还没有很多的实践经验,所以虽然这篇文章讲的是三者的集成,但主要还是以Struts为中心。

首先看一下Struts与Spring的集成。

首先看一下在struts-config.xml中需要做的改动,最开始是加入插件声明:

<struts-config> 
  
<plug-in 
className="org.springframework.web.struts.ContextLoaderPlugIn">
   
<set-property property="contextConfigLocation" 
     value
="/WEB-INF/applicationContext.xml" /> 
  
</plug-in> 
</struts-config> 

还有一个需要在Struts配置文件中改的是它的ActionMapping部分,这个在后面再说。

事实上Struts中加入Spring并不是很复杂,最重要的是我们需要清楚系统是不是一定要Spring,即Spring的所谓依赖注入等特性对开发的意义是不是要大于使用Spring后增加的开发成本。

下面用图来说明Struts与Spring结合后的程序运行基本流程:

 

 

如上所示,Struts与Spring集成最重要的一点就是改变struts-config.xml中的Action-Mapping设置,在进入Struts的Action之前,Spring就获得了控制权。

Spring和Struts集成的部分就先说到这里。

 

有关Struts和Hibernate的集成,内容不是很复杂,我归纳了以下几个要点:

1、Hibernate-Context.xml

这个文件的<bean>项中需要设定SessionFactory属性,Spring已经整合了SessionFactory设置,所以无需hibernate.cfg.xml再设了。同时,这个项中也可以设定映射文件.hbm.xml的列表。

2、DAO继承HibernateDaoSupport,以调用其函数

HibnernateDaoSupport实现了HibernateTemplate与SessionFactory的关联。HibernateTemplate(用HibnernateDaoSupport里的getHibernateTemplate()可以获得)对Hibernate Session进行了封装,可省去获得Session实例、事务启动与提交/回滚以及异常处理等一系列步骤,所以非常简单。

 

上面从两个方面讲了Struts、Spring和Hibernate三者的集成,最后简单归纳一下:

通过修改Struts的配置文件,Spring得以获得对Struts中Action的控制权,同时也将Spring的特性加入了Struts。而与Hibernate结合以后,通过利用上述的Spring特征,简化了数据库操作。

 

Struts+Spring框架搭建demo [Struts+Spring] 整合Struts和Spring,基本思路是 Action的创建由本来的Struts管理,交由 Spring进行管理 立即下载

相关推荐

【电商风控】电商风控标注是什么

本篇文章给大家谈谈。

866

Spring+Struts2+Hibernate(ssh)三大框架整合流程

整合ssh三大框架详细流程,分两种方式整合Hibernate 一、SSH整合前的准备;二、Spring整合Struts2;三、Spring整合Hibernate一(带有Hibernate配置文件);四、Spring整合Hibernate二(不带有Hibernate配置文件);五、相关问题(如:延迟加载异常)

honhong1024的博客 2万+

MuJoCo 仿真中的碰撞检测与参数优化实战

本文深入解析MuJoCo仿真中的碰撞检测机制与参数优化策略,涵盖位掩码配置、凸包分解实战及穿模问题解决方案。通过具体案例和参数设置建议,帮助开发者高效解决机械臂抖动、轴孔装配等常见问题,提升仿真精度与稳定性。特别针对步进电机仿真提供了高增益位置执行器的优化方案。

weixin_29081101的博客 333

关于spring 与Hibernate 结合使用的事务管理

applicationContext.xml  中是这样的     xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/

lu__ya的博客 656

Gromacs GPU加速版安装全攻略:从依赖配置到性能优化

本文提供了Gromacs GPU加速版的完整安装与性能优化指南。详细介绍了从编译器、OpenMPI、FFTW到CUDA等关键依赖的配置,手把手指导编译支持CUDA的Gromacs,并深入解析了如何通过调整.mdp参数及平衡MPI与OpenMP线程分配,最大化GPU利用率,从而让分子动力学模拟效率获得数十倍提升。

y9z0a1b的博客 1151

解决fetch_california_housing数据集403错误的3种实用方法(附手动下载地址)

本文针对机器学习中常见的fetch_california_housing数据集403 Forbidden错误,提供了三种实用的解决方案。从理解HTTP 403错误的根源出发,详细介绍了修改源码路径、使用国内镜像源以及手动下载并配置数据文件这三种方法,并附带了可靠的手动下载地址,帮助开发者彻底解决数据加载障碍,确保机器学习项目顺利进行。

weixin_29062963的博客 561

Struts+Spring框架整合

整合Struts和Spring的基本思路是将Action生命周期由原本的Struts进行管理,交由Spring进行管理  相当于李思思以前要自己接客,现在改成先由老鸨去招揽,回头再交给李师师进行具体的业务操作  以 struts模块的iterator标签为基础,进行整合 struts.xml 在struts.xml中指定objectFactory对象工厂为spring  即act

litengbin的博客 358

DoubletFinder实战:如何优化参数提升scRNA-seq双细胞识别准确率?

本文深入探讨了如何通过优化DoubletFinder参数提升scRNA-seq双细胞识别准确率。详细解析了pK和nExp参数的影响机制,提供了系统化的参数优化流程和多样本整合策略,并结合真实数据集演示了验证方法与高级应用场景,帮助研究人员获得更可靠的分析结果。

weixin_28523493的博客 339

Oracle之Hint使用总结

导读: 一、关于hint 1、引入hint的原因; 2、不能过分依赖hint; 3、hint的弊端; 4、hint和注释的关系; 5、hint的功能。 二、hint的具体用法 1、hint的语法; 2、hint的作用域; 3、hint数据字典。 三、hint的分类 1、和优化器相关的; 2、和访问路径相关的; 3、和查询转换相关的; 4、和表连接顺序相关的; 5、和表操作相关的; 6、和并行相关的; 7、其他相关的。...

旺旺的博客 2万+

Windows环境下DataEase一站式安装指南(含WSL2+Docker配置)

本文详细介绍了在Windows环境下通过WSL2和Docker快速部署DataEase的完整教程。从WSL2配置、Docker环境搭建到DataEase离线安装,逐步指导用户完成一站式部署,特别适合需要快速搭建数据分析平台的开发者。教程包含常见问题解决方案和性能优化技巧,帮助用户高效使用这款国产开源数据可视化工具。

weixin_42526166的博客 394

SIWAVE+ADS提取PCB走线寄生参数

本文将介绍一种很适合PCB走线提取寄生电感等参数的方法,即是通过SIWAVE将PCB走线的S参数提取出来,再通过ADS将S参数转换成电感、电容值。

sinat_15150363的博客 1765

Oracle中的Hint

Hint是Oracle数据库里SQL优化的终极手段,通常用于直接指定目标SQL的执行计划,它作为一种非常规的直接影响优化器,指定执行计划的手段。深入理解Hint,能明白Hint是如何影响优化器对于执行计划的选择的,进而用好Hint,能起到事半功倍的效果。 1 什么是Hint Hint实际上是一种特殊的注释,它以一种固定的格式和位置出现在SQL语句的SQL文本中,可以影响优化器对于执行计划的选择,但这种影响不是强制性的,优化器在某些情况下也可能忽略目标SQL中的Hint,即使这个Hint在语法和语义上是有

qq_41967563的博客 1万+

【软考】高项论文写作常见模板

本文主要介绍了YYYY年MM月DD日,我所在公司承接了XXXX项目的建设过程,包括了XXX,XXX,XXX内容,涉及到XXX,XXX,XXX技术。本人在项目中承载着项目经理的角色,主要负责了XXX,XXX,XXX方面事宜。此项目时间紧,任务重,实施过程中,我们特别注重了1、XXX 2、XXX 3、XXX几个方面,经过团队的一致努力,本项目按时交付,运行至今,客户反馈良好。但是在实施过程中,也曝露除了一些问题,包括了XXX,XXX等,通过应急处理和协调,这些问题都得到了妥善解决,没有影响到项目进度。

奶爸的编程之路,也就一周冷个三天 1687

Oracle hint认识

hint 认识 正确的语法是: select /*+ index(x idx_t) */ * from t x where x.object_id=123 /*+ */ 和注释很像,比注释多了一个“+”,这就是Hint 上面这个hint的意思是让Oracle执行这个SQL时强制走索引。 如果hint的语法有错误,Oracle是不会报错,只是把/* */里的内容当做注释而已。 不合理使用Hint的危害: 由于表中的数据是会变化,一般不能在程序中的sql里用Hint,假如像上面的Hint一样强制走索引。

涛涛之海 1580

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

oracle view hint,Oracle SQL Hint的视图解析 V$SQL_HINT

Oracle SQL Hint的视图解析 V$SQL_HINT在上周恩墨微信大讲堂的讨论中,几个有趣的视图跃入我们的视野,可以分享给大家。在Oracle 11g中,新增的视图V$SQL_HINT记录了Oracle数据库中的可用Hint及其历史。如果串起来,这几个视图的关系极大:V$SQL_FEATURE,V$SQL_FEATURE_HIERARCHY,V$SQL_HINT,通过这几个视图可以了解O...

weixin_42181693的博客 637

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Oracle的Hint

Hint生效的范围仅限于它本身所在的查询块,如果在Hint中不指定该Hint生效的查询块,那么Oracle会默认认为它生效的范围是指该Hint所处于的查询块。因为“IS”是一个关键字,“,”(逗号)也是一个关键字,所以,上面的第2和第3条SQL,Oracle解析时,当遇到“,”和“IS”时,就忽略了后面的所有Hint。③ 使用的Hint是自相矛盾的(例如,即指定了FULL又指定了INDEX_FFS),但Oracle只是将自相矛盾的Hint全部忽略掉,而组合Hint中的其它Hint依然有效。

qq_22201881的博客 1272

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

oracle 强制索引 hint,oracle常用hint详解

相对而言ORACLE优化器已经非常智能,产生的执行计划也是最优的,但是ORACLE还是提供了一些hint供用户显示的控制执行计划,因为大千世界各种各样的业务都有,ORACLE优化器生成的执行计划并不一定适用于所有业务,同时hint对于DBA而言更是一件利器,我们可以通过hint看到优化后的执行计划,总结一下常用hint。1.全表扫描hintfull(table_name)相对而言,全表扫描hint...

weixin_27713587的博客 4425

常见 Oracle HINT 的用法

Hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式。 Oracle 19c HINTComments https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Comments.html#GUID-D316D545-89E2-4D54-977F-FC97815CD62E 因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Orac...

JiekeXu的博客 5943

hint oracle group by,ORACLE的视图合并HINT

第一章ORACLE的视图合并介绍1.1视图合并首先介绍一下ORACLE的视图合并概念:视图合并(View Merging)是优化器处理带视图的目标SQL的一种优化手段,它是指优化器不再将目标SQL中视图的定义语句当做一个独立的处理单元来执行,而是会将其拆开,把其定义SQL语句的基表拿出来与外表合并,合并后的SQL将只剩下外部查询的表和原视图中的基表,不再有视图出现。视图合并的好处是让优化器有更多的...

weixin_33914982的博客 771

oracle之hint

1.为什么引入HintHint是Oracle数据库中很有特色的一个功能,是很多DBA优化中经常采用的一个手段。那为什么Oracle会考虑引入优化器呢?基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用指定的存取路径或连接类型生成执行计划,从而...

qq_34650026的博客 480

Oracle的hint的作用,Oracle Hint 用法

正确的语法是:select/*+ index(x idx_t) */* from t x where x.object_id=123/*+ */ 和注释很像,比注释多了一个“+”,这就是Hint上面这个hint的意思是让Oracle执行这个SQL时强制走索引。如果hint的语法有错误,Oracle是不会报错,只是把/* */里的内容当做注释而已。不合理使用Hint的危害:由于表中的数据是...

weixin_29964487的博客 824

Oracle Hint

Hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式。 因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Oracle提供给DBA用来分析问题的工具 。在SQL代码中使用Hint,可能导致非常严重的后果,因为数据库的数据是变化的,在某一时刻使用这个执行计划是最优的,在另一个时刻,却可能很差,这也...

hutianci的专栏 1242

hint oracle qbname_oracle之hint概述

oracle之hint概述1.为什么引入HintHint是Oracle数据库中很有特色的一个功能,是很多DBA优化中经常采用的一个手段。那为什么Oracle会考虑引入优化器呢?基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用指定的存取路径或...

weixin_39959482的博客 390

oracle hint

Oracle中Hint深入理解(原创) 博客分类: Oracle Tuning Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。 此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从 而使语句高效的运行。例如,如果我...

taihexuelang的专栏 391

简单了解 Oracle Hint

《基于Oracle的SQL优化》—— Oracle Hint Oracle的优化器非常智能,在绝大多数情况下,都会选择正确的执行计划,减轻DBA的负担。但是,有时候也会选择了效用低的执行计划,使目标SQL成本消耗过高。此时,就需要DBA人为干预,手动纠正对于执行计划的错误选择。而Hint作为Oracle数据库里SQL优化的一种机制,通常就是用于调整指定目标SQL的执行计划,告诉优化器如何生成执行计划,使得语句高效执行。

拾三先生丶 1210
上一篇: Hibernate起步尝试
下一篇: Spring, Hibernate与Struts集成的大概思路
dr2tr
博客等级 码龄24年 28粉丝 133原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值