Struts+Spring+Hibernate真正入门级实例(一)

上有很多关于SSH架构的实例文章,但都显得复杂,我想,入门的朋友,还是希望从最简单的CRUD操作开始,一些复杂的数据库关系,逻辑关系,以后在项目中就能碰到,所以,本文定位于从零开始的一个SSH架构的例子,功能很简单,就是完成一个人员的CRUD操作,麻雀虽小,五脏俱全,希望能对从来没有接触过三者结合开发的朋友带来一点点帮助,这个例子,也算是我的入门实例,从此,开始Struts+Spring+Hibernate之旅 

开发工具:MyEclipse5.1+Tomcat+Mysql

开发前准备:数据库安装,tomcat安装,下载jar包这些就不费口水了,直接切入正题吧
CREATE TABLE `people` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(100) default NULL,
  `location` varchar(100) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 ROW_FORMAT=COMPRESSED;

首先,建立工程和package,以下是我的工程目录
  action
      DeletePeopleAction.java     //删除人员action
      EditPeopleAction.java         //编辑人员action第一步,读取需要修改的人员资料
      EditPeopleActionDo.java   //修改人员action
      ListPeopleAction.javaSave   //显示人员列表action
      SavePeopleAction.java         //新增人员action 
      SearchPeopleAction.java     //查找人员action
dao
      IDAO.java    //数据库操作接口
      StudentDAOImpl.java  //数据库操作实现
domain
      AbstractPeople.java   //实体抽象类
      People.hbm.xml         //数据库映射
      People.java                 //实体类
service
      IService.java   //服务层接口
      StudentManagerImpl.java   //服务层实现
util
     Character.java   //字符编码过滤器
     PageSupport.java   //分页
applicationContext_hibernate.xml   //Spring配置文件(hibernate部分)
applicationContext_service.xml      //Spring配置文件(Service部分)

JSP:这几个jsp从名字就能看出功能,不说了
   addStudent.jsp
   editStudent.jsp
   searchList.jsp
   searchStudent.jsp
   studentList.jsp

 

代码:
   

 applicationContext_hibernate.xml 
  

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
<!--   
    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
       <property name="jndiName">
          <value>java:comp/env/jdbc/StudentManager</value>
       </property>      
    </bean>
 
-->

 
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    
<property name="driverClassName">
      
<value>com.mysql.jdbc.Driver</value>
    
</property>
    
<property name="url">
      
<value>jdbc:mysql://localhost:3306/studentmanager</value>
    
</property>
    
<property name="username">
      
<value>root</value>
    
</property>
    
<property name="password">
      
<value>1234</value>
    
</property>
    
 
</bean>
 
 
<bean id="TransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>  
   
    
<bean id="sessionFactory"

        class
="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        
<property name="dataSource">
            
<ref local="dataSource" />
        
</property>
        
<property name="hibernateProperties">
            
<props>
                
<prop key="hibernate.dialect">
                    org.hibernate.dialect.MySQLDialect
                
</prop>
                
<prop key="hibernate.show_sql">true</prop>
                
<prop key="hibernate.cache.use_query_cache">true</prop>
                
<prop key="hibernate.cache.provider_class">
                    org.hibernate.cache.HashtableCacheProvider
                
</prop>
            
</props>
        
</property>
        
<!--   
        <property name="mappingDirectoryLocations">
            <list>
                <value>classpath:/domain</value>
            </list>
        </property>
-->

        
<property name="mappingResources">
           
<list>
             
<value>domain/People.hbm.xml</value>
           
</list>
        
</property>
    
</bean>
    
    
<bean id="StudentDAO" class="dao.StudentDAOImpl">
       
<property name="sessionFactory">
         
<ref local="sessionFactory"/>
       
</property>
    
</bean>
</beans>

 

 applicationContext_service.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

   
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
     
<property name="sessionFactory">
       
<ref bean="sessionFactory"/>
     
</property>
   
</bean>
   
   
   
<bean id="studentManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
       
<property name="transactionManager">
          
<ref bean="transactionManager"></ref>
       
</property>
      
<property name="target">
          
<bean class="service.StudentManagerImpl">
            
<property name="studentDAO">
                
<ref bean="StudentDAO"/>
           
</property>
          
</bean>
      
</property>
      
<property name="transactionAttributes">
        
<props>
          
<prop key="save*">PROPAGATION_REQUIRED</prop>
          
<prop key="list*">PROPAGATION_REQUIRED,readOnly</prop>
          
<prop key="delete*">PROPAGATION_REQUIRED</prop>
          
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
          
<prop key="edit*">PROPAGATION_REQUIRED</prop>
          
<prop key="search*">PROPAGATION_REQUIRED</prop>
       
</props>
     
</property>
    
<property name="proxyTargetClass">
       
<value>true</value>     
    
</property>

     
   
</bean>
   

</beans>
 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值