ssh整合(spring+springmvc+hibernate)

工程目录结构:

ssh整合(spring+springmvc+hibernate)_第1张图片

配置pom.xml


  4.0.0
  cq
  springMVC
  0.0.1-SNAPSHOT
  war
  

     
 
    org.springframework
    spring-webmvc
    4.3.3.RELEASE
 
  
 
    org.springframework
    spring-orm
    4.3.3.RELEASE
 
  
 
javax.servlet
  	javax.servlet-api
  	3.1.0
  
  
  	jstl
  	jstl
  	1.2
  
  
        com.fasterxml.jackson.core
        jackson-core
        2.4.3
  
 
       com.fasterxml.jackson.core
       jackson-databind
       2.4.3
 
 
  	c3p0
        c3p0
        0.9.1.2
 
 
  	com.oracle
  	ojdbc6
        3.3
 

 
  	org.slf4j
  	slf4j-log4j12
  	1.7.21
 
  	
 
       org.hibernate
       hibernate-core
       4.3.9.Final
 
 

配置application-core.xml

 	


  
  
  
  
  
  
  
  1
  20
  1800
  2
  0
  2
  1800
  30
  true
  false
 
 
	
	
	  
	        org.springframework.orm.hibernate4.SpringSessionContext
	        true
		
			org.hibernate.dialect.OracleDialect
		
	   
	
	
		
			com.it.bean
		
	
  	

  
	
  
	

   
  	

  


  


  
	
	
  



配置web.xml



  ssh_pri
 	
		contextConfigLocation
		classpath*:application-*.xml 
	

 
   
	org.springframework.web.context.ContextLoaderListener
   


 
	characterEncodingFilter
	org.springframework.web.filter.CharacterEncodingFilter
	
		encoding
		UTF-8
	
	
		forceEncoding
		true
	
  
  
	characterEncodingFilter
        /*
  

  
        lazyLoadingFilter
        
            org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
        
  
  
    	lazyLoadingFilter
    	/*
  

  
        dispatcher
        org.springframework.web.servlet.DispatcherServlet
         
		contextConfigLocation
		
	
        1
  
  
        dispatcher
        /
    
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  
配置log4j.properties
#log level
log4j.rootLogger=info,R,stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c:%L) - %m%n


#Log4j提供的appender有以下几种:
#org.apache.log4j.ConsoleAppender(控制台),
#org.apache.log4j.FileAppender(文件),
#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
#org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

#log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#其中log4j提供4种布局. 
#org.apache.log4j.HTMLLayout(以HTML表格形式布局)
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息

#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout


# Pattern to output the caller's file name and line number.
# log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
# Print the date in ISO 8601 format
#log4j.appender.stdout.layout.ConversionPattern==%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

#log4j.appender.stdout.layout.ConversionPattern=[%t-%d{HH\:mm\:ss} (%F\:%L)] %m%n 

#R 输出到文件 RollingFileAppender的扩展,可以提供一种日志的备份功能。
#log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender



#日志文件的名称
log4j.appender.R.File=d:/logs.log


#日志文件的大小
log4j.appender.R.Append=true

# Keep one backup file
#保存一个备份文件
log4j.appender.R.Threshold=INFO

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=[NEOP]%-d{yyyy-MM-dd HH:mm:ss} (%c:%L)(%t) [%p] %m%n

log4j.appender.R.DatePattern='.'yyyy-MM-dd'.log'
# Print only messages of level WARN or above in the package com.foo.
log4j.logger.org.apache=INFO
log4j.logger.org.mybatis=INFO
log4j.logger.com.ibatis=INFO
log4j.logger.java.sql=INFO
log4j.logger.org.springframework=INFO

bean

Student

package com.it.bean;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="Student")
public class Student implements Serializable {
       @Id
       @Column(name="stu_id")
       private String stu_id;
       @Column(name="stu_pwd")
       private String stu_pwd;
       @Column(name="stu_name")
       private String stu_name;
       @Column(name="stu_sex")
       private String stu_sex;
       @Column(name="stu_age")
       private String stu_age;
       @Column(name="stu_addr")
       private String stu_addr;
	public String getStu_id() {
		return stu_id;
	}
	public void setStu_id(String stu_id) {
		this.stu_id = stu_id;
	}
	public String getStu_pwd() {
		return stu_pwd;
	}
	public void setStu_pwd(String stu_pwd) {
		this.stu_pwd = stu_pwd;
	}
	public String getStu_name() {
		return stu_name;
	}
	public void setStu_name(String stu_name) {
		this.stu_name = stu_name;
	}
	public String getStu_sex() {
		return stu_sex;
	}
	public void setStu_sex(String stu_sex) {
		this.stu_sex = stu_sex;
	}
	public String getStu_age() {
		return stu_age;
	}
	public void setStu_age(String stu_age) {
		this.stu_age = stu_age;
	}
	public String getStu_addr() {
		return stu_addr;
	}
	public void setStu_addr(String stu_addr) {
		this.stu_addr = stu_addr;
	}
	public Student(String stu_id, String stu_pwd, String stu_name,
			String stu_sex, String stu_age, String stu_addr) {
		super();
		this.stu_id = stu_id;
		this.stu_pwd = stu_pwd;
		this.stu_name = stu_name;
		this.stu_sex = stu_sex;
		this.stu_age = stu_age;
		this.stu_addr = stu_addr;
	}
	public Student() {
		super();
		// TODO Auto-generated constructor stub
	}
       
}

dao

BaseDAO

package com.it.dao;

import java.util.List;

import javax.annotation.Resource;

import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate4.support.HibernateDaoSupport;

import com.it.bean.Student;

public class BaseDAO extends HibernateDaoSupport{
    @Resource 
	public void setSuperSessionFactory(SessionFactory sessionFactory){
		super.setSessionFactory(sessionFactory);
	}
    
    public void add(E e){
    	this.getHibernateTemplate().save(e);
    }
    
    public void del(E e){
    	this.getHibernateTemplate().delete(e);
    }
    
    public void upd(E e){
    	this.getHibernateTemplate().update(e);
    }
    
    @SuppressWarnings("unchecked")
	public List findAll(String hql){
		return (List) this.getHibernateTemplate().find(hql);
    	
    }
    
    @SuppressWarnings("unchecked")
	public E findById(String stu_id){
    	E e=(E) this.getHibernateTemplate().get(Student.class, stu_id);
		return e;
    	
    }
}

StudentDAO

package com.it.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.it.bean.Student;

@Repository(value="studao")
public class StudentDAO extends BaseDAO{
    public void add(Student stu){
    	super.add(stu);
    }
    
    public void upd(Student stu){
    	super.upd(stu);
    }
    
    public void del(Student stu){
    	super.del(stu);
    }
    
    public List findAll(Student stu){
    	String hql="from Student";
		return super.findAll(hql);
    	
    }
  
}

service

StudentService

package com.it.service;

import java.util.List;

import javax.annotation.Resource;
import javax.transaction.Transactional;

import org.springframework.stereotype.Service;

import com.it.bean.Student;
import com.it.dao.StudentDAO;

@Service(value="stusv")
public class StudentService {
	@Resource(name="studao")
    private StudentDAO studao;
	@Transactional
	public void add(Student stu){
		studao.add(stu);
	}
	
	@Transactional
	public void upd(Student stu){
		studao.upd(stu);
	}
	
	@Transactional
	public void del(Student stu){
		studao.del(stu);
	}
	
	@Transactional
	public List findAll(Student stu){
		return studao.findAll(stu);
		
	}
	@Transactional
	public Student findById(String stu_id){
		return (Student)studao.findById(stu_id);
		
	}
}

action

StudentAction

package com.it.action;

import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.it.bean.Student;
import com.it.service.StudentService;

@Controller
public class StudentAction {
	@Resource(name="stusv")
    private StudentService stusv;
	@RequestMapping("/add")
	public String add(Student stu){
		System.out.println("---------1------");
		stusv.add(stu);
		return "redirect:/show";
		
	}
	@RequestMapping("/upd")
	public String upd(Student stu){
		System.out.println("---------1------");
		stusv.upd(stu);
		return "redirect:/show.do";
		
	}
	
	@RequestMapping("/del")
	public String del(Student stu){
		System.out.println("---------1------");
		stusv.del(stu);
		return "redirect:/show.do";
		
	}
	
	@RequestMapping("/show")
	public ModelAndView findAll(Student stu){
		System.out.println("----------2----------");
		List list=this.stusv.findAll(stu);
		ModelAndView mv=new ModelAndView("show");
		mv.addObject("list", list);
		return mv;
		
	}
	
	@RequestMapping("/findById")
	public String findById(HttpSession session,String stu_id){
		System.out.println("----------3----------");
		Student stu=this.stusv.findById(stu_id);
		System.out.println("----------4---------");
		session.setAttribute("stu", stu);
		return "upd";
		
	}
}

jsp

add.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'add.jsp' starting page
    
	
	
	    
	
	
	

  
  
  
      
ID:
PWD:
NAME:
SEX:
AGE:
ADDR:

show.jsp

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


  
    
    
    My JSP 'show.jsp' starting page
    
	
	
	    
	
	
	
    
  
  
  
    
		   <<              >>
编号 密码 姓名 性别 年龄 地址 操作 添加
${l.stu_id } ${l.stu_pwd } ${l.stu_name } ${l.stu_sex } ${l.stu_age } ${l.stu_addr } 删除 修改

upd.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'MyJsp.jsp' starting page
    
	
	
	    
	
	
	

  
  
  

    
ID:
PWD:
NAME:
SEX:
AGE:
ADDR:

你可能感兴趣的:(zixue)