ssh框架下 对数据库的增删改查

1 、开发环境

Ø        MyEclipse6.0

Ø        JDK 1.6

Ø        Java EE 5.0

Ø        Tomcat6.0

Ø        Struts2.1

Ø        Spring2.0

Ø        Hibernate3

2 、为ssh做好准备

2.1下载包

Ø    Struts2.1包下载:http://struts.apache.org/download(现在最新版本估计已经是2.3.12了)

Ø    Hibernate3包下载:http://www.hibernate.org/

Ø    Spring2.0下载:http://www.springsource.org/download

2.2搭建开发环境

打开MyEclipse,新建一个web project,如图:(J2ee版本设为5.0)




点击Finish完成,建好的工程如图:

       

设置好你的tomcat6的路径即可,前提你要先安装好tomcat哦。还有需要注意的一点是,看到目录树tomcat6.x下面的JDK了吗?点击它,也要把tomcat的JDK设为jdk1.6才行,以与myeclipse一致。

       好了,工程已经建好了,下面就开始配置struts吧。配置之前先把struts的包下载下来哦,下载地址上面已经给出了。

3、配置Struts2.0

3.1基础配置

1)使用struts只需要把下面五个引入即可,以后用到什么jar包,再引入。


2)修改WEB-INF下的web.xml文件,增加struts2的配置。增加代码如下:这些配置代码对于struts2是不变的,直接复制到web.xml即可。



struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter



struts2
/*

3)添加struts配置文件。 在WEB-INF/classes目录下,新建struts.xml,模版如下:

xml version="1.0"encoding="UTF-8"?>
DOCTYPE struts PUBLIC
     "-//Apache Software Foundation//DTDStruts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
struts>

这边的2.0是要根据你自己的struts版本而定的。http://hi.baidu.com/albert02/item/e85abb44253ec336fa8960b5这个网址上面的错误就是因为版本的问题。

(以后的增删改查的action会在这两个struts标签里面写,如下:

      method="excute">
   query.jsp
  

      method="excute">
   insert.jsp
  

      method="excute">
   OK.jsp
  

      method="excute">
   OK.jsp
  

  
   revise.jsp
  

 

当然测试struts配置成功是不必加这些东西的)

4)现在把工程发布到tomcat上去测试一下,在工程名字上点击右键,选择MyEclipseàAdd and Removeproject Deployments,在打开的窗口里,点击Add,选择我们之前配置好的tomcat6服务器。发布好了,启动tomcat,如果启动无异常,则说明配置成功。

 

4、配置Hibernate

4.1 基础配置

1)  导入最小jar包,即使用Hibernate3所必需的jar包。

2)   创建数据源

 

(这边add你的数据库驱动包我的是)

 

3)  创建Hibernate配置文件。在WEB-INF"calsses目录下(工程的src包下)新建hibernate.cfg.xml。这是hibernate连接数据库的配置文件。这里以连接My SQL为例:

a)首先给工程添加hibernate能力

这边用我自己导入的hibernate包MyEclipse自带的不用。

这边选择刚刚建立的DB Driver

b)配置hibernate.cfg.xml文件,我的配置文件如下:


          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">



 root
 
  jdbc:mysql://localhost:3306/databaseoperation
 

 
  org.hibernate.dialect.MySQLDialect
 

 dbOperation
 
  com.mysql.jdbc.Driver
 

 true
 true
 true   //这句是为了以后执行数据库查询的时候自动提交事务的
 

3)在web.xml文件里面加入以下内容:

 
  hibernateFilter
  
   org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
  

  
   flushMode
   AUTO
  

 

  
  hibernateFilter
  /*
 

5、配置Spring2.5

5.1 基础配置

1)   导入spring包。

2)    配置web.xml文件。

在web.xml文件里面同样加入:


 
  contextConfigLocation
  classpath:applicationContext.xml
 

3   在src下面新建applicationContext.xml文件。


 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">

 

5.2整合Struts和Spring

Spring与Struts的整合其实就是把Struts的Action类交给Spring来管理.!

1)     导入jar包。在Struts2.1.6lib目录中找到struts2-spring-plugin-2.1.6.jar,引入到工程中。(刚开始已经导入了)

2)       配置web.xml文件。在web.xml中加入以下代码:


 
  
   org.springframework.web.context.ContextLoaderListener
  

 

3)这边是我的增删改查的action配置applicationContext.xml里面的


    scope="prototype">
  
   
  

 

    scope="prototype">
  
   
  

 

    scope="prototype">
  
   
  

 

    scope="prototype">
  
   
  

 

    scope="prototype">
  
   
  

 

 

5.3整合Hibernate和Spring

Spring整合Hibernate主要是对hibernate的Session进行管理,包含Session的创建、提交、关闭的整个生命周期。Spring对事务的管理应用了AOP的技术。

1)  配置sessionFactory让spring来创建Session。在applicationContext.xml中增加如下代码:

  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
      value="classpath:hibernate.cfg.xml" />
 

2) 配置事务管理器。增加如下代码:

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

3)  对事务管理器进行事务设置。

  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
  lazy-init="true" abstract="true">
  
  
   
    PROPAGATION_REQUIRED
   

  

 

4)事务运用到dao层下:applicationContext.xml里面的


 
  
   
  

 

 
  
   
  

 

这边我会给出我建的项目的具体框架以及dao层的一个类文件UserDAOImpl

package dao;

import java.sql.SQLException;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import entity.User;

public class UserDAOImpl extends HibernateDaoSupport implements IUserDAO {

 @SuppressWarnings("unchecked")
 public List findAllUser() {
  String hql = "from User user order by user.id";
  return (List) this.getHibernateTemplate().find(hql);
 }

 public User findUserById(Integer id) {
  User user = (User) this.getHibernateTemplate().get(User.class, id);
  return user;
 }

 public void removeUser(int id) {
//  final String hql = "delete User u where u.id= " + id;
//  Integer count = (Integer) getHibernateTemplate().execute(
//    new HibernateCallback() {
//     public Object doInHibernate(Session session)
//       throws HibernateException, SQLException {
//      int deletedEntities = session.createQuery(hql)
//        .executeUpdate();
//      return deletedEntities;
//     }
//    });
   User user = (User) this.getHibernateTemplate().get(User.class, id);
   this.getHibernateTemplate().delete(user);
 }

 public void saveUser(User user) {
  this.getHibernateTemplate().save(user);
 }

 public void updateUser(User user) {
  this.getHibernateTemplate().update(user);
 }
}

 

总结:

具体的SSH配置就这些了,其他的就是写实现增删改查action的类了我的项目架构如下:

 

 

 

 

 


 

 

 

 

 


























 


你可能感兴趣的:(SSH框架)