hibernate使用(结合ssh)

本文介绍SSH框架整合流程及Spring事务管理机制。详细解释了如何在项目中配置Spring和Hibernate上下文工厂,实现数据库操作并通过Spring管理事务。同时介绍了Hibernate主要接口的功能及其在项目中的使用方式。

hibernate封装了hql,如果直接使用sql语言,则先通过createSqlQuery()得到SQLQuery对象,之后执行executeupdate(),在spring注册事务,@ transaction  propagation配置事物管理,一个service会产生一个事务,否则会报异步错误错误,transaction management。ssh加载过程:页面请求->servlet容器转发(一般tomcat容器)->struts2拦截捕获请求(action)(filter)->spring 事务处理->hibernate 处理数据库->返回业务处->返回struts->返回页面。

可以在项目中配置上下文factory,可以获取hibernate或者spring的context。

ssh加载过程:在tomcat中web.xml中,通过<context-param>标签加载spring.xml文件,通过配置filter拦截器,加载Struts2(struts2由servlet filter发展过来的),之后是配置<listener-class>,可以使spring自带的contestLoaderListener或者是继承这个类的(例如命名一个CustomContextLoaderListener继承这个listener-class)。在listener中还可以配置一些before class loader,在初始化context的时候,执行这部分class。在使用hibernate时,保证只有一个sessionFactory。hibernate中主要有5个接口,configuration、sessionFactory、session、transaction、query。configuration接口主要配置一些数据库底层信息,主要在hibernate.cfg.xml中配置,通过Configuration config=new Configuration().configure()得到hibernate.cfg.xml中的信息。sessionFactory接口负责创建session,通过sessionFactory sessionFactory=config.buildSessionFactory()创建,session接口,通过Session session=sessionFactory.openSession(),transaction接口通过session.beginTransaction(),query 通过session.createQuery或者session.createSqlQuery()创建sql语句。

spring主要由6个模块组成:spring core、AOP、Instrumention、Web与远程调用、数据访问与集成、test。spring的core管理bean的创建、配置、管理和上下文、E-mail、JNDI,AOP帮助应用对象解耦,把遍布系统的关注点从所应用的系统中解耦出来。数据访问与集成模块为jdbc、dao提供了模板,为hibernate、mybatis提供了ORM模块。spring的事务管理支持所有的ORM和jdbc,该模块还包含了JMS之上的spring抽象层,会以异步的方式与其他应用通信。web与远程调用模块提供了基于spring的mvc,还提供了远程调用功能,构建rest api。instrumention为tomcat提供了一个类加载,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值