Hibernate知识:

1、核心配置文件:

  连接数据库信息、连接池配置

  映射配置

Struts2:

1、相关操作:

创建方式:

  写一个类,写上public String execute();方法

  实现Action接口

  继承ActionSupport类

配置访问action中的多个方法:

  使用通配符

action中获取操作域对象:ServletActionContext

在web.xml配置文件中配置struts2的过滤器

 <!-- 配置struts2的核心配置文件 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

2、核心配置文件

  引入头部约束

 <!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<package name="" namespace="/" extends="struts-default">
<!-- 后台配置获取商品分类 -->
<action name="" class="" method="">
<result name="success"></result>
<result name="error"></result>
</action>
</package>

Spring框架:

1、核心配置文件

  命名格式没有太多要求

  引入头部约束

  创建对象

    xml配置:<bean id="" class=""/>

    注解配置:@Commponent(pojo)  @Service(service) @Controller(controller)  @Respository(dao层)

  注入方式:@Autowired

2、ContextLoaderListener监听器

在web.xml配置文件中配置

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>

SSH整合

1. web应用的三层:

  web:struts2

  service:spring管理ioc和aop

  dao:hibernate操作数据库

struts2核心配置文件编写

  <!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <package name="" namespace="/" extends="struts-default">
<!-- 后台配置获取商品分类 -->
<action name="" class="" method="">
<result name="success"></result>
<result name="error"></result>
</action>
</package>

applicationContext.xml配置事务管理和注解扫描

<!-- 配置事务管理 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

<!-- 开启注解扫描 -->
<context:component-scan base-package="com.shop.*"></context:component-scan>
<!-- 开启事务管理 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
<!-- 开启aop注解扫描 -->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>

applicationContext.xml中配置hibernate所需的数据源,连接池,Session Factory

 <!-- 配置sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<!-- 配置参数 -->
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
<!-- 注入数据库链接信息 -->
<property name="dataSource" ref="DataSource"></property>
<!-- 告诉spring去哪里找.hbm.xml文件 -->
<property name="mappingDirectoryLocations" value="classpath:com/shop/domain"></property>
</bean> <!-- 告诉spring去哪里加载properties配置文件 -->
<context:property-placeholder location="classpath:db.properties"/>
<!-- 让spring创建c3p0 -->
<bean name="DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${driverClass}"></property>
<property name="jdbcUrl" value="${jdbcUrl}"></property>
<property name="user" value="${user}"></property>
<property name="password" value="${password}"></property>
</bean>

db.properties配置文件,连接数据库

driverClass=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/myuser?useUnicode=true&characterEncoding=UTF-8
user=root
password=123456

总结:

1、连接数据库,先获取连接池对象,然后注入到sessionFactory中

2、action是多例的,所以注解要使用@Scope("prototype")

3、dao层操作数据库类继承HibernateDaoSupport

整合SSH的更多相关文章

  1. .net到Java那些事儿--整合SSH

    一.介绍       整体介绍分成两个部分,第一.net转到Java的原因,第二开发SSH时候的环境介绍:       .net到Java的原因: .net开发也将近快3年的样子,加上现在的老东家换过 ...

  2. Maven02——回顾、整合ssh框架、分模块开发、私服

    1 回顾 1.1 Maven的好处 节省空间 对jar包做了统一管理 依赖管理 一键构建 可跨平台 应用在大型项目可提高开发效率 1.2 Maven安装部署配置 1.3 Maven的仓库 本地仓库 远 ...

  3. MAVEN_day03 整合SSH框架

    一.整合SSH工程环境准备 1.创建MAVEN工程>>添加>>"web.xml"文件解决工程红色叹号. new Maven Project>>在 ...

  4. maven整合ssh框架笔记

    具体工程会上传文件sshpro <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:x ...

  5. Maven项目整合SSH框架

    ---------------------siwuxie095                                         Maven 项目整合 SSH 框架         创建 ...

  6. Struts2,Spring3,Hibernate4整合--SSH框架

    Struts2,Spring3,Hibernate4整合--SSH框架(学习中) 一.包的导入 1.Spring包 2.Hibernate 包 3.struts 包 (还欠 struts2-sprin ...

  7. Maven 整合SSH框架

    1. 传递依赖冲突 1.1 传递依赖:A(项目)依赖B,B依赖C(1.1版本),B是A的直接依赖,C是A的传递依赖; A(项目)又依赖D,D依赖C(1.2版本),此时,C有两个版本,产生冲突; 1.2 ...

  8. 调试SPRING MVC(或者整合SSH)的时候遇到了org/objectweb/asm/Type

    调试SPRING MVC(或者整合SSH)的时候遇到了org/objectweb/asm/Type 解决方法1: 原因是Spring中的cglib-nodep-2.x.x.jar与Hibernate中 ...

  9. maven学习记录三——maven整合ssh框架

    6       整合ssh框架 6.1     依赖传递 只添加了一个struts2-core依赖,发现项目中出现了很多jar, 这种情况 叫 依赖传递 6.2     依赖版本冲突的解决 1.  第 ...

  10. SSH第一篇【整合SSH步骤、OpenSessionInView】

    前言 到目前为止,Struts2.Hibernate.Spring框架都过了一遍了.也写过了Spring怎么与Struts2整合,Spring与Hibernate整合-本博文主要讲解SSH的整合 整合 ...

随机推荐

  1. python中join()函数的用法

    join()函数 语法:  'sep'.join(s) 参数说明 sep:分隔符.可以为空 s:要连接的元素序列.字符串.元组.字典 上面的语法即:以sep作为分隔符,将s所有的元素合并成一个新的字符 ...

  2. shallow update not allowed

    ! [remote rejected] master -> master (shallow update not allowed) https://stackoverflow.com/quest ...

  3. mysql 查询所有表以及对应的信息

    https://www.cnblogs.com/ssslinppp/p/6178636.html use information_schema;selectengine,table_name,tabl ...

  4. CSS属性去除图片链接时的虚线框

    CSS 之outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用.outline 属性是一个简写属性,用于设置元素周围的轮廓线.注释:轮廓线不会占据空间,也不一定是 ...

  5. 如何为元组中的每个元素命名,提高程序可读性---Python数据结构与算法相关问题与解决技巧

    实际案例: 学生信息系统中,数据为固定格式:(名字,年龄,性别,邮箱) ,通常使用元组来存储 使用优点: 使用元组最大的优点在于节省空间,存储相同的数据,使用元组比使用字典,空间小很多 使用缺点: 访 ...

  6. Html5 学习笔记 【PC固定布局】 实战7 机票预订页面

    最终实际效果: HTML代码: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta char ...

  7. PAT甲级【2019年3月考题】——A1158 TelefraudDetection【25】

    Telefraud(电信诈骗) remains a common and persistent problem in our society. In some cases, unsuspecting ...

  8. 关于Java序列化你应该知道的一切

    什么是序列化 我们的对象并不只是存在内存中,还需要传输网络,或者保存起来下次再加载出来用,所以需要Java序列化技术. Java序列化技术正是将对象转变成一串由二进制字节组成的数组,可以通过将二进制数 ...

  9. C++中的面向对象(二)

    1,类之间的基本关系: 1,继承: 1,从已存在类细分出来的类和原类之间具有继承关系(is-a): 1,子类就是一个(is-a)父类: 2,继承是单向的: 2,继承的类(子类)拥有原类(父类)的所有属 ...

  10. go语言从例子开始之Example1.helloworld

    Example: package main import "fmt" func main() { fmt.Println("hello world") } Re ...