hibernate使用(结合ssh)
来源:互联网 发布:java insert的返回值 编辑:程序博客网 时间:2024/05/29 02:57
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提供了一个类加载,
- hibernate使用(结合ssh)
- Dwr结合SSH使用
- 结合Hibernate使用Tapestry
- hibernate 结合MySQL使用
- struts,hibernate , spring结合使用
- 结合使用Hibernate和XDoclet
- maven hibernate 的结合使用
- Spring与Hibernate结合使用
- Hibernate+ehcache二级缓存配置(SSH结合时缓存的配置)
- Spring框架(七)结合Hibernate基本使用入门介绍
- flexigrid结合SSH常见问题及使用笔记
- volley跟ssh服务结合使用
- 结合SSH&Nutz框架使用定时器quartz
- Struts、Hibernate复习 && 了解与Spring结合的SSH
- hibernate 与spring结合,hibernatedaoSupport使用注意事项
- Spring与Hibernate结合的使用
- 详解Hibernate与WebService结合使用
- 使用maven结合ssh开发出现的错误
- Practice_Codeforces Round #413 (Div. 2)
- MySQL支持的数据类型有哪些?
- CSS3自定义滚动条样式 -webkit-scrollbar
- Haproxy-初学者
- Python 2 的网络爬虫
- hibernate使用(结合ssh)
- 深度优先搜索
- linux系统下Python环境安装说明
- Kotlin之旅
- 如何去掉MyEclipse中的MyEclipse Derby
- <<Effective C++>>读书笔记
- 格式化时间,根据格式化规则,如“yyyy”、“MM”等,转化时间字符串,如“2017-05-18”
- 十进制与字符串的转换,正向和逆向互转-C语言学习笔记2
- 数据结构基础