三大框架的整合实例

1.导入ssh........................................................ 1

2.写包名 如:....................................................... 1

3.编写持久层:...................................................... 1

3.1 pojo 类 并配置对应的name.hbm.xml.......................... 1

3.2对应的User.hbm.xml.......................................... 2

3.3dto pojo类当做属性...................................... 3

3.4写对dto进行操作的dao的接口.................................. 3

3.5写相应的对dto进行操作的daoimpl的实现类,.................... 4

该类要继HibernateDaoSupport 实现dao接口......................... 4

3.6编写applicationconText.xml 一下的三个bean 是 必须要的........ 5

3.7 applicationContext.xml添加编写相应的...................... 6

不同的pojo的事务拦截............................................ 6

4.编写服务层........................................................ 7

4.1 编写对应pojo的服务的接口.................................... 7

4.3applicationContext.xml中添加.............................. 9

5.编写表现层....................................................... 10

5.1编写pojo对应的action 实现,在这里我实现了查询的操作........ 10

5.2application中添加如下内容................................ 11

6.编写web.xml..................................................... 11

8.编写hibernate.cfg.xml........................................... 12

 

1.导入ssh

2.写包名 如:

           

3.编写持久层:

3.1 pojo 并配置对应的name.hbm.xml

 

package com.boldgirl.hrms.resume.pojo;

 

public class User {

    private int id;

    private String name;

    private int age;

    public int getId() {

       return id;

    }

    public void setId(int id) {

       this.id = id;

    }

    public String getName() {

       return name;

    }

    public void setName(String name) {

       this.name = name;

    }

    public int getAge() {

       return age;

    }

    public void setAge(int age) {

       this.age = age;

    }

 

}

3.2对应的User.hbm.xml

 

<?xml version="1.0" encoding="UTF-8"?>

 

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

 

<hibernate-mapping package="com.boldgirl.hrms.resume.pojo">

    <class name="User" table="user">

 

       <id name="id">

           <generator class="native"></generator>

       </id>

       <property name="name"></property>

       <property name="age"></property>

 

 

    </class>

 

 

 

</hibernate-mapping>

3.3dto pojo类当做属性

 

package com.boldgirl.hrms.resume.dto;

 

import com.boldgirl.hrms.resume.pojo.User;

 

public class UserDTO {

    private User user;

 

    public User getUser() {

       return user;

    }

 

    public void setUser(User user) {

       this.user = user;

    }

   

 

}

 

3.4写对dto进行操作的dao的接口

 

package com.boldgirl.hrms.resume.dao;

 

import java.util.List;

 

import com.boldgirl.hrms.resume.pojo.User;

 

public interface UserDAO {

    public List<User> findAll();

 

    public void save(User u);

 

    public void delete(User u);

 

    public void update(User u);

 

    public void findall(User u);

 

}

 

3.5写相应的对dto进行操作的daoimpl的实现类,

该类要继HibernateDaoSupport 实现dao接口

 

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

 

import com.boldgirl.hrms.resume.pojo.User;

 

public class UserDAOimpl extends HibernateDaoSupport implements UserDAO {

 

    public void delete(User u) {

       this.getHibernateTemplate().delete(u);

      

    }

 

    public List<User> findAll() {

       List <User> list =this.getHibernateTemplate().find("from User");

       return list;

    }

 

    public User findall(User u) {

      

       u=(User) this.getHibernateTemplate().find("from People p where p.id=u.id ");

      

        

       return u;

      

      

    }

 

    public void save(User u) {

       this.getHibernateTemplate().save(u);

      

    }

 

    public void update(User u) {

       this.getHibernateTemplate().update(u);

      

    }

   

 

}

 

3.6编写applicationconText.xml 一下的三个bean 必须要的

<?xml version="1.0" encoding="UTF-8"?>

 

 

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:aop="http://www.springframework.org/schema/aop"

    xmlns:tx="http://www.springframework.org/schema/tx"

    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd

           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

 

    <!-- 创建SessionFactory -->

 

    <bean id="sesssionFactory"

       class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

       <property name="configLocation">

           <value>classpath:hibernate.cfg.xml</value>

 

       </property>

 

 

    </bean>

    <!-- 创建Hibernate模板 7步骤中的1,2-->

 

    <bean id="hibernateTemplate"

       class="org.springframework.orm.hibernate3.HibernateTemplate">

 

       <property name="sessionFactory" ref="sesssionFactory"></property>

 

    </bean>

 

    <!-- 事务管理器 -->

 

    <bean id="transactionManager"

       class="org.springframework.orm.hibernate3.HibernateTransactionManager">

 

       <property name="sessionFactory" ref="sesssionFactory"></property>

 

    </bean>

 

</beans>

 

3.7 applicationContext.xml添加编写相应的

不同的pojo的事务拦截

 

    <!-- 配置DAO -->

 

    <bean id="UserDAO" class="com.boldgirl.hrms.resume.dao.UserDAOimpl"

       scope="prototype">

       <property name="hibernateTemplate" ref="hibernateTemplate"></property>

 

    </bean>

 

    <!-- 7步骤中4,6 -->

 

    <!-- 配置事务拦截器 -->

    <bean id="transactionInterceptor"

       class="org.springframework.transaction.interceptor.TransactionInterceptor">

 

       <!-- 需要事务拦截器 -->

       <property name="transactionManager" ref="transactionManager"></property>

       <!--拦截规则 -->

       <property name="transactionAttributes">

 

           <props>

              <prop key="save*">PROPAGATION_REQUIRED</prop>

              <prop key="dele*">PROPAGATION_REQUIRED</prop>

              <prop key="update*">PROPAGATION_REQUIRED</prop>

 

           </props>

 

       </property>

    </bean> 

 

 

 

4.编写服务层

4.1 编写对应pojo的服务的接口

package com.boldgirl.hrms.resume.service;

 

import java.util.List;

 

import com.boldgirl.hrms.resume.dto.UserDTO;

 

public interface Userservice {

    public List<UserDTO> findAll();

 

    public void save(UserDTO dto);

 

    public void update(UserDTO dto);

 

    public void delete(UserDTO dto);

 

    public UserDTO findall(UserDTO dto);

 

}

   4.2编写对应pojo的服务的实现类

package com.boldgirl.hrms.resume.service;

 

import java.util.ArrayList;

import java.util.List;

 

import com.boldgirl.hrms.resume.dao.UserDAO;

import com.boldgirl.hrms.resume.dto.UserDTO;

import com.boldgirl.hrms.resume.pojo.User;

 

 

public class Userserviceimpl implements Userservice {

    private UserDAO dao;

 

    public void delete(UserDTO dto) {

       dao.delete(dto.getUser());

 

    }

 

    public List<UserDTO> findAll() {

       List<UserDTO> listDTO = new ArrayList<UserDTO>();

       List<User> listUser = dao.findAll();

       for (User user : listUser) {

           UserDTO dto= new UserDTO();

           dto.setUser(user);

           listDTO.add(dto);

       }

      

       return listDTO;

 

    }

 

    public UserDTO findall(UserDTO dto) {

       User user=new User();

       user=dao.findall(dto.getUser());

       dto.setUser(user);

       return dto;

    }

 

    public void save(UserDTO dto) {

       dao.save(dto.getUser());

 

    }

 

    public void update(UserDTO dto) {

       dao.update(dto.getUser());

 

    }

 

}

4.3applicationContext.xml中添加

 

    <!-- 配置service -->

 

    <bean id="userService"

       class="com.boldgirl.hrms.resume.dao.UserDAO.java">

       <property name="dao" ref="UserDAO"></property>

 

 

 

    </bean>

 

    <!-- 配置哪些bean需要拦截 -->

    <!-- 生产代理,自动的代理 -->

    <bean

       class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">

       <!-- 配置需要代理的类 -->

       <property name="beanNames">

 

           <list>

              <value>userService</value>

           </list>

 

       </property>

 

       <property name="interceptorNames">

           <list>

              <value>transactionInterceptor</value>

           </list>

       </property>

 

    </bean>

 

5.编写表现层

 5.1编写pojo对应的action 实现crud,在这里我实现了查询的操作

   package com.boldgirl.hrms.resume.action;

 

import java.util.List;

import java.util.Map;

 

import com.boldgirl.hrms.resume.dto.UserDTO;

import com.boldgirl.hrms.resume.service.Userservice;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

 

public class UserlistAction extends ActionSupport {

    private Userservice service;

    private UserDTO dto;

 

    public Userservice getService() {

       return service;

    }

 

    public void setService(Userservice service) {

       this.service = service;

    }

 

    public UserDTO getDto() {

       return dto;

    }

 

    public void setDto(UserDTO dto) {

       this.dto = dto;

    }

 

    @Override

    public String execute() throws Exception {

       List<UserDTO> list = service.findAll();

       Map map = (Map) ActionContext.getContext().get("request");

       map.put("list", list);

       return SUCCESS;

 

    }

 

}

 

5.2application中添加如下内容

 

 <!--配置strutsspring的整合  -->

 

    <bean id="userList"

       class="com.boldgirl.hrms.resume.action.UserlistAction"

       scope="prototype">

       <property name="service" ref="userService"></property>

    </bean>

 

6.编写web.xml

  <?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"

    xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

   

    <listener>

      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>

    <filter>

       <filter-name>struts2</filter-name>

       <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

    </filter>

    <filter-mapping>

       <filter-name>struts2</filter-name>

       <url-pattern>/*</url-pattern>

    </filter-mapping>

 

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

7.编写struts.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

    "http://struts.apache.org/dtds/struts-2.0.dtd">

 

<struts>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />

    <constant name="struts.devMode" value="false" /> 

    <package name="default" namespace="" extends="struts-default">     

        <action name="list" class="userList">

            <result name="success">/listbook.jsp</result>

        </action>       

    </package>

    <!-- Add packages here -->

</struts>

8.编写hibernate.cfg.xml

 <?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC

          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

       <property name="hibernate.connection.username">sa</property>

       <property name="hibernate.connection.password">123</property>

       <property name="hibernate.connection.url">

           jdbc:sqlserver://localhost:1433;databaseName=book

       </property>

       <property name="hibernate.connection.driver_class">

           com.microsoft.sqlserver.jdbc.SQLServerDriver

       </property>

       <property name="hibernate.dialect">

           org.hibernate.dialect.SQLServerDialect

       </property>

       <property name="show_sql"></property>

       <mapping

           resource="com/boldgirl/hrms/resume/service/User.hbm.xml" />

    </session-factory>

</hibernate-configuration>

 

     

     

 

 

 

  

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值