SSH整合的程序

来源:互联网 发布:seo实战密码第一版pdf 编辑:程序博客网 时间:2024/06/05 16:21

util包配置


package com.util;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class DaoUtil {
    public static final SessionFactory sf = new Configuration().configure().buildSessionFactory();
}





dao包方法


package com.dao;

import java.util.List;

import com.bawei.wang.bean.Dog;
import com.bawei.wang.bean.DogType;

public interface DogDao {
    public void register(Dog dog);
    public List<DogType> selectDogType();
public List<Dog> getDogList();
public void delete(Dog dog);
public Dog selectById(Dog dog);
public void update(Dog dog);
}




dao层实现类





package com.bawei.wang.dao;

import java.util.List;

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

import com.bawei.wang.bean.Dog;
import com.bawei.wang.bean.DogType;
import com.bawei.wang.util.DaoUtil;

public class DogDaoImpl extends HibernateDaoSupport implements DogDao{
    Session session = null;
    Transaction transaction = null;
    @SuppressWarnings("unchecked")
    @Override
    public List<Dog> getDogList() {
    List<Dog>    list=this.getHibernateTemplate().find("from Dog");
        return list;
        
    }
    /*@Override
    public List<Dog> getDogList() {
        Session session=DaoUtil.sf.openSession();
        Query query=session.createQuery("from Dog");
        List<Dog> list=query.list();
        return list;
    }*/
    @Override
    public void register(Dog dog) {
        try {
            session = DaoUtil.sf.openSession();
            transaction = session.beginTransaction();
            session.save(dog);
            transaction.commit();
        } catch (HibernateException e) {
            transaction.rollback();
            e.getStackTrace();
        } finally {
            session.close();
        }

    }
    @Override
    public List<DogType> selectDogType() {
        List<DogType> list = null;
        session = DaoUtil.sf.openSession();
        Query query = session.createQuery("from DogType");
        list = query.list();
        return list;
    }

    @Override
    public void delete(Dog dog) {
        Session session=DaoUtil.sf.openSession();
        try {
            
            transaction = session.beginTransaction();
            session.delete(dog);
            transaction.commit();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            session.close();
        }
    }
    @Override
    public Dog selectById(Dog dog) {
        session = DaoUtil.sf.openSession();
        Dog d = null;
        try {
            d = (Dog) session.get(Dog.class, dog.getId());
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            session.close();
        }
        return d;
    }

    @Override
    public void update(Dog dog) {
        session = DaoUtil.sf.openSession();
        try {
            transaction = session.beginTransaction();
            session.update(dog);
            transaction.commit();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            session.close();
        }        
    }


}






service层实现类




package com.service;

import java.util.List;

import com..bean.Dog;
import com..bean.DogType;
import com..dao.DogDao;

public class DogServiceImpl implements DogService{
private DogDao dao;

    @Override
    public List<Dog> getDogList() {
        // TODO Auto-generated method stub
        return dao.getDogList();
    }

    public DogDao getDao() {
        return dao;
    }

    public void setDao(DogDao dao) {
        this.dao = dao;
    }

    @Override
    public void register(Dog dog) {
        dao.register(dog);
    }

    @Override
    public List<DogType> selectDogType() {
        // TODO Auto-generated method stub
        return dao.selectDogType();
    }

    @Override
    public void delete(Dog dog) {
        dao.delete(dog);
    }

    @Override
    public Dog selectById(Dog dog) {
        // TODO Auto-generated method stub
        return dao.selectById(dog);
    }

    @Override
    public void update(Dog dog) {
        dao.update(dog);
    }

    
    
    
    
}







action类的方法


package com.bawei.wang.action;

import java.util.List;

import com.bean.Dog;
import com.service.DogService;

public class DogAction {
public DogService service;
public List list;
public Dog dog;

public String getDogList(){
    System.out.println("进入查询方法");
    list=service.getDogList();
return "listDog";
}
public String register() {
    System.out.println("进入添加方法");
    service.register(dog);
    return getDogList();
}
public String delete() {
    System.out.println("进入删除方法");
    service.delete(dog);
    return getDogList();
}
public String update() {
    System.out.println("进入修改方法");
    service.update(dog);
    dog.setName("");
    return getDogList();
}
public String selectById() {
    dog = service.selectById(dog);
    list = service.selectDogType();
    return "update";
}
public Dog getDog() {
    return dog;
}



public void setDog(Dog dog) {
    this.dog = dog;
}



public DogService getService() {
    return service;
}
public void setService(DogService service) {
    this.service = service;
}
public List getList() {
    return list;
}
public void setList(List list) {
    this.list = list;
}

}






查询界面JSP的显示



在展示界面的时候要有一个list集合查出来展示

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>My JSP 'index.jsp' starting page</title>
  <body>
   <table border="1" bgcolor="palegreen">
 <tr>
 <td>id</td>
 <td>name</td>
 <td>age</td>
 <td>love</td>
 <td>health</td>
 <td>品种id</td>
 <td>品种类型</td>
 <td>操作</td>
 </tr>
   <c:forEach items="${list }" var="dog">
   <tr>
   <td>${dog.id }</td>
   <td>${dog.name}</td>
   <td>${dog.age }</td>
   <td>${dog.love }</td>
   <td>${dog.health }</td>
   <td>${dog.dogType.tid }</td>
   <td>${dog.dogType.tname }</td>
   <td><a href="DogAction!delete.action?dog.id=${dog.id }">删除</a>  
   <a href="insert.jsp">添加</a>   
    </td>
   </tr>
   
   
   
   </c:forEach>
   
   
   </table>




 <br>
  </body>
</html>





添加界面的JSP


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>这是添加界面</title>
  </head>
  <body>
    <form action="DogAction!register.action" method="post">
  名字:<input type="text" id="name" name="dog.name" />
  年龄:<input type="text" id="age" name="dog.age"  >
  亲密值:<input type="text" id="love" name="dog.love"  >
  健康值: <input type="text" id="health" name="dog.health"  >
  请选择
  <select  name="dog.dogType.id" id="selectid">
  <option value="">---请选择身份---</option>
  <c:forEach items="${list }" var="dogType">
  <option value="${dogType.id }">${dogType.tname }</option>
  </c:forEach>
  </select>
  <input type="submit" value="注册" />
    </form>
  </body>
</html>







修改的JSP




<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
 
    <base href="<%=basePath%>">
      <script type="text/javascript" src="My97DatePickerBeta/My97DatePicker/WdatePicker.js"></script>
  </head>
  <body >
   <form action="CupAction!update" method="post">
   <table border="1" bgcolor="palegreen">
   <tr>
  <td>编号:</td>
   <td><input type="text"  readonly="readonly" value="${cup.id }" name="cup.id" /></td>
  </tr>
  <tr>
  <td>名字:</td>
   <td><input type="text" value="${cup.name }" name="cup.name" /></td>
  </tr>
   <tr>
  <td>颜色:</td>
   <td><input type="text" value="${cup.color }" name="cup.color" /></td>
  </tr>
   <tr>
  <td>大小:</td>
   <td>
   <input type="radio" name="cup.size" <c:if test="${cup.size=='0' }"> checked="checked" </c:if>  value="0" >
   <input type="radio" name="cup.size" <c:if test="${cup.size==1 }"> checked="checked" </c:if>  value="1" >
   <input type="radio" name="cup.size" <c:if test="${cup.size=='2' }"> checked="checked" </c:if> value="2">
   </td>
  </tr>
  <tr>
  <td>日期:</td>
  <td>  <input class="Wdate" name="cup.createtime" value="${cup.createtime }" type="text" id="temp"   onfocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm'})"/> </td>
  </tr>
   <tr>
  <td>请选择:</td>
   <td><select  name="cup.Cuptype.cid" id="selectid">
  <option value="">---请选择身份---</option>
  <c:forEach items="${list }" var="cuptype">
  <option value="${cuptype.cid }"<c:if test="${ cuptype.cid==cup.cuptype.cid}" >selected="selected"</c:if>>${cuptype.cname }</option>
  </c:forEach>
  </select></td>  
  </tr>
  <tr><td><input type="submit" value="修改" ></td></tr>
  </table>
   </form>
  </body>
</html>



原创粉丝点击