打印本文 打印本文  关闭窗口 关闭窗口  
JAVA基础SSH简单整合
作者:佚名  文章来源:不详  点击数  更新时间:2008/10/22 21:35:35  文章录入:杜斌  责任编辑:杜斌

  /*首先是配置Spring的applicationContext.xml文件*/
  Xml代码
  <?xml version="1.0" encoding="UTF-8"?>
  <beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
  <property name="driverClass" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"></property>
  <property name="jdbcUrl" value="jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=pubs"></property>
  <property name="user" value="sa"></property>
  <property name="password" value=""></property>
  <property name="maxPoolSize" value="20"></property>
  <property name="minPoolSize" value="20"></property>
  <property name="initialPoolSize" value="1"></property>
  <property name="maxIdleTime" value="20"></property>
  </bean>
  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource">
  <ref bean="dataSource"/>
  </property>
  <property name="hibernateProperties">
  <props>
  <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
  <prop key="hibernate.show_sql">true</prop>
  <prop key="hibernate.use_outer_join">true</prop>
  <prop key="hibernate.jdbc.fetch_size">25</prop>
  <prop key="hibernate.jdbc.batch_size">50</prop>
  </props>
  </property>
  <property name="mappingResources">
  <list>
  <value>com/yourcompany/pojo/Tuser.hbm.xml</value>
  </list>


  </property>
  </bean>
  <bean id="springdao" class="com.yourcompany.dao.UserManager">
  <property name="sessionFactory">
  <ref bean="sessionFactory"/>
  </property>
  </bean>
  <bean name="/user" class="com.yourcompany.struts.action.UserAction">
  <property name="dao">
  <ref bean="springdao"/>
  </property>
  </bean>
  </beans>
  <?xml version="1.0" encoding="UTF-8"?>
  <beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
  <property name="driverClass" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"></property>
  <property name="jdbcUrl" value="jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=pubs"></property>
  <property name="user" value="sa"></property>
  <property name="password" value=""></property>
  <property name="maxPoolSize" value="20"></property>
  <property name="minPoolSize" value="20"></property>
  <property name="initialPoolSize" value="1"></property>
  <property name="maxIdleTime" value="20"></property>
  </bean>
  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource">
  <ref bean="dataSource"/>
  </property>
  <property name="hibernateProperties">
  <props>
  <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>


  <prop key="hibernate.show_sql">true</prop>
  <prop key="hibernate.use_outer_join">true</prop>
  <prop key="hibernate.jdbc.fetch_size">25</prop>
  <prop key="hibernate.jdbc.batch_size">50</prop>
  </props>
  </property>
  <property name="mappingResources">
  <list>
  <value>com/yourcompany/pojo/Tuser.hbm.xml</value>
  </list>
  </property>
  </bean>
  <bean id="springdao" class="com.yourcompany.dao.UserManager">
  <property name="sessionFactory">
  <ref bean="sessionFactory"/>
  </property>
  </bean>
  <bean name="/user" class="com.yourcompany.struts.action.UserAction">
  <property name="dao">
  <ref bean="springdao"/>
  </property>
  </bean>
  </beans>Xml代码
  <PRE class=java name="code">Spring是面向接口编程 所以定义一个DAO接口
  package com.yourcompany.interDao;
  import com.yourcompany.pojo.Tuser;
  public interface Iuser {
  public void save(Tuser t);
  public void update(Tuser t);
  public java.util.List<Tuser> getAll();
  public Tuser getOne(Integer id);
  public void delete(Tuser t);
  public void delete(Integer id);
  }</PRE>


  Java代码
  
Spring是面向接口编程 所以定义一个DAO接口 package com.yourcompany.interDao; import com.yourcompany.pojo.Tuser; public interface Iuser { public void save(Tuser t); public void update(Tuser t); public java.util.List<Tuser> getAll(); public Tuser getOne(Integer id); public void delete(Tuser t); public void delete(Integer id); } Spring是面向接口编程 所以定义一个DAO接口
  package com.yourcompany.interDao;
  import com.yourcompany.pojo.Tuser;
  public interface Iuser {
  public void save(Tuser t);
  public void update(Tuser t);
  public java.util.List<Tuser> getAll();
  public Tuser getOne(Integer id);
  public void delete(Tuser t);
  public void delete(Integer id);
  }
  Java代码
  实现上述接口
  package com.yourcompany.dao;
  import java.sql.SQLException;
  import java.util.List;
  import org.hibernate.HibernateException;
  import org.hibernate.Query;
  import org.hibernate.Session;
  import org.springframework.orm.hibernate3.HibernateCallback;
  import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
  import com.yourcompany.interDao.Iuser;
  import com.yourcompany.pojo.Tuser;
  public class UserManager extends HibernateDaoSupport implements Iuser{
  public void delete(Tuser t) {
  this.getHibernateTemplate().delete(t);
  }
  public void delete(final Integer id) {
  getHibernateTemplate().executeFind(new HibernateCallback(){
  public Object doInHibernate(Session session)
  throws HibernateException, SQLException{
  Query query=session.createQuery("delete from Tuser t where t.id=?");
  query.setInteger(0, id);
  query.executeUpdate();
  return null;
  }
  });
  }


  @Override
  public List<Tuser> getAll() {
  return getHibernateTemplate().executeFind(new HibernateCallback(){
  public Object doInHibernate(Session session)
  throws HibernateException, SQLException{
  Query query=session.createQuery("from Tuser");
  return query.list();
  }
  });
  }
  @Override
  public Tuser getOne(Integer id) {
  Tuser t= (Tuser)this.getHibernateTemplate().get(Tuser.class,id);
  return t;
  }
  @Override
  public void save(Tuser t) {
  this.getHibernateTemplate().save(t);
  }
  @Override
  public void update(Tuser t) {
  this.getHibernateTemplate().saveOrUpdate(t);
  }
  }
  实现上述接口
  package com.yourcompany.dao;
  import java.sql.SQLException;
  import java.util.List;
  import org.hibernate.HibernateException;
  import org.hibernate.Query;
  import org.hibernate.Session;
  import org.springframework.orm.hibernate3.HibernateCallback;
  import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
  import com.yourcompany.interDao.Iuser;
  import com.yourcompany.pojo.Tuser;


  public class UserManager extends HibernateDaoSupport implements Iuser{
  public void delete(Tuser t) {
  this.getHibernateTemplate().delete(t);
  }
  public void delete(final Integer id) {
  getHibernateTemplate().executeFind(new HibernateCallback(){
  public Object doInHibernate(Session session)
  throws HibernateException, SQLException{
  Query query=session.createQuery("delete from Tuser t where t.id=?");
  query.setInteger(0, id);
  query.executeUpdate();
  return null;
  }
  });
  }
  @Override
  public List<Tuser> getAll() {
  return getHibernateTemplate().executeFind(new HibernateCallback(){
  public Object doInHibernate(Session session)
  throws HibernateException, SQLException{
  Query query=session.createQuery("from Tuser");
  return query.list();
  }
  });
  }
  @Override
  public Tuser getOne(Integer id) {
  Tuser t= (Tuser)this.getHibernateTemplate().get(Tuser.class,id);
  return t;
  }
  @Override
  public void save(Tuser t) {
  this.getHibernateTemplate().save(t);
  }
  @Override
  public void update(Tuser t) {
  this.getHibernateTemplate().saveOrUpdate(t);
  }
  }
  Xml代码
  读取Spring配置文件的方式
  1.在StrutsConfig.xml文件中以插件的形式来读取
  <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
  <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/>
  </plug-in>
  2.在web.xml文件中通过监听器的形式来读取
  <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
  /WEB-INF/classes/applicationContext.xml
  </param-value>
  </context-param>
打印本文 打印本文  关闭窗口 关闭窗口