基于maven下Spring,struts2,hibernate的增删改查

来源:互联网 发布:读新闻软件 编辑:程序博客网 时间:2024/06/02 08:44

1。相关maven下的spring,struts2,hibernate下pom配置,在我以前上传的博客中可以找到,具体不说,自己找;

2.web.xml中的配置

<filter>
    <filter-name>struts2</filter-name>
    <filter-class> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
 <!-- 自从Struts 2.1.3以后,下面的FilterDispatcher已经标注为过时
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> --> 
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
  
<!-- applicationContext.xml -->
<!-- Spring监听器 会自动查找WEB-INF下的applicationContext.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>
3.对于spring,hibernate,struts2必须要有的相关文件

  spring需要自定义文件如 application.xml 

struts2需要struts.xml,

 hibernate 需要hibernate.cfg.xml,

和相关映射类文件如student.hbm.xml

分层结构为mvc分层结构

需要注意的是 SessionFactory现在由Spring创建,hibernate 只需要调用session由Spring创建

aplication.xml 主要代码

       <!-- 注册jdbc.properties方法 2种:context方式注册-->
         <context:property-placeholder location="classpath:jdbc.properties"/>
         <!-- 数据源配置:可以C3p0-->
         <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
          <property name="driverClass" value="${driver}"></property>
           <property name="jdbcUrl" value="${url}"></property>
           <property name="user" value="${user}"></property>
           <property name="password" value="${password}"></property>
         </bean>
        、、spring 实现sessionFactory 数据源是c3p0 调用 hibernate  配置文件 ,hibernate 的配置文件忽略了
    <bean id="SessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean" lazy-init="false" >
        <!-- 注入datasource,给sessionfactoryBean内setdatasource提供数据源 -->
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
        
        <!-- //加载实体类的映射文件位置及名称
        <pro perty name="mappingLocations" value="classpath:com/ssh/bean/*.hbm.xml"></property>
         -->
    </bean> 

再说 比较容易犯错的,就是创建Session的时候 只写了利用hibernate 查询表的整体信息

@Autowired
SessionFactory  sessionFactory;

public  Session getsession(){
System.out.println(sessionFactory);
return sessionFactory.openSession();
}

@Override
public List<Student> list() {
Session session = this.getsession();
// 严格区分大小写
String hql = " from Student";
Query query = session.createQuery(hql);
List<Student> list = query.list();
return list;
}

struts2负责进行前端请求验证,和相关拦截, spring负责进行bean的管理 ,hibernate 负责数据库的相关问题 附 

struts2负责进行前端请求验证,和相关拦截, spring负责进行bean的管理 ,mybatis负责数据库的相关问题-点击打开链接

0 0
原创粉丝点击