基于注解的Spring MVC整合Hibernate(所需jar包,spring和Hibernate整合配置,springMVC配置,重定向,批量删除)

1、导入jar

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

2、web.xml配置

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

<web-app version="2.4"

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

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

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

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<!-- 通过上下文參数指定spring配置文件的位置 -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:beans.xml</param-value>

</context-param>

<listener>

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

</listener>

<servlet>

<servlet-name>action</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:springMVC.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>action</servlet-name>

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

</servlet-mapping>

<welcome-file-list>

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

</welcome-file-list>

</web-app>

3、bean.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"

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

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

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.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd

http://www.springframework.org/schema/aop

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

http://www.springframework.org/schema/tx

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

<!-- 注解驱动 -->

<mvc:annotation-driven/>

<!-- 组件扫描 -->

<context:component-scan base-package="cn.itcast.springmvc"></context:component-scan>

<!-- 定义数据源 -->

<bean id="ds" class="com.mchange.v2.c3p0.ComboPooledDataSource">

<property name="driverClass" value="com.mysql.jdbc.Driver"></property>

<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/springmvc"></property>

<property name="user" value="root"></property>

<property name="password" value="123456"></property>

<property name="initialPoolSize" value="10"></property>

<property name="maxPoolSize" value="50"></property>

<property name="minPoolSize" value="10"></property>

</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<property name="dataSource" ref="ds"></property>

<!-- hibernate映射文件的位置 -->

<property name="mappingDirectoryLocations">

<value>classpath:cn/itcast/springmvc/domain/</value>

</property>

<property name="hibernateProperties">

<props>

<prop key="hibernate.Dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>

<prop key="hibernate.show_sql">true</prop>

<prop key="hibernate.hbm2ddl.auto">update</prop>

</props>

</property>

</bean>

<!-- 配置事物管理器 -->

<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

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

</bean>

<!-- 配置事物的传播特性 (事物通知)-->

<tx:advice id="txAdvice" transaction-manager="txManager">

<tx:attributes>

<tx:method name="save*" propagation="REQUIRED"/>

<tx:method name="delete*" propagation="REQUIRED"/>

<tx:method name="update*" propagation="REQUIRED"/>

<tx:method name="find*" read-only="true"/>

<tx:method name="*" read-only="true"/>

</tx:attributes>

</tx:advice>

<aop:config>

<aop:advisor pointcut="execution(* *..*ServiceImpl.*(..))" advice-ref="txAdvice"/>

<!--

<aop:advisor advice-ref="txAdvice" pointcut="execution(* *..*ServiceImpl.*(..))"/>

-->

</aop:config>

</beans>

4、SpringMVC.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"

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

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

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.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd

http://www.springframework.org/schema/aop

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

http://www.springframework.org/schema/tx

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

<!-- 配置内部资源视图解析器 -->

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix" value="/WEB-INF/jsp/"></property>

<property name="suffix" value=".jsp"></property>

</bean>

</beans>

5、domain和hbm.xml配置

package cn.itcast.springmvc.domain;

public class Person {

private String id;

private String name;

private Integer age;

private String address;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

}

----------------------------

Person.hbm.xml

<?

xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

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

<hibernate-mapping>

<class name="cn.itcast.springmvc.domain.Person" table="persons">

<id name="id" column="id" type="string">

<generator class="uuid" />

</id>

<property name="name" column="name" type="string" />

<property name="age" column="age" type="integer" />

<property name="address" column="address" type="string" />

</class>

</hibernate-mapping>

6、PersonDao

package cn.itcast.springmvc.dao;

import java.util.List;

import cn.itcast.springmvc.domain.Person;

public interface IPersonDao {

public Person findPersonById(String id);

public List<Person> findAllPerson();

public void savePerson(Person p);

public void deletePersonById(String id);

public void updatePerson(Person p);

}

7、PersonDaoImpl

package cn.itcast.springmvc.dao;

import java.util.List;

import javax.annotation.Resource;

import org.hibernate.SessionFactory;

import org.springframework.stereotype.Repository;

import cn.itcast.springmvc.domain.Person;

@Repository(value="personDao")

public class PersonDaoImpl implements IPersonDao {

@Resource(name="sessionFactory")

private SessionFactory sf;

public Person findPersonById(String id) {

return (Person) sf.getCurrentSession().createQuery("from Person where id = ‘" + id + "‘").list().get(0);

}

public void savePerson(Person p) {

sf.getCurrentSession().save(p);

}

public void deletePersonById(String id) {

Person p = new Person();

p.setId(id);

//sf.getCurrentSession().delete(id, Person.class);

sf.getCurrentSession().delete(p);

}

public List<Person> findAllPerson() {

return sf.getCurrentSession().createQuery("from Person").list();

}

public void updatePerson(Person p) {

sf.getCurrentSession().update(p);

}

}

8、IPersonService

package cn.itcast.springmvc.service;

import java.util.List;

import cn.itcast.springmvc.domain.Person;

public interface IPersonService {

public Person findPersonById(String id);

public List<Person> findAllPerson();

public void savePerson(Person p);

public void deletePersonById(String id);

public void updatePerson(Person p);

}

9、PersonServiceImpl

package cn.itcast.springmvc.service;

import java.util.List;

import javax.annotation.Resource;

import cn.itcast.springmvc.dao.IPersonDao;

import cn.itcast.springmvc.domain.Person;

@org.springframework.stereotype.Service(value="personService")

public class PersonServiceImpl implements IPersonService {

@Resource(name="personDao")

private IPersonDao personDao;

public Person findPersonById(String id) {

return personDao.findPersonById(id);

}

public void savePerson(Person p) {

personDao.savePerson(p);

}

public void deletePersonById(String id) {

personDao.deletePersonById(id);

}

public List<Person> findAllPerson() {

return personDao.findAllPerson();

}

public void updatePerson(Person p) {

personDao.updatePerson(p);

}

}

10、PersonController

package cn.itcast.springmvc.controller;

import java.util.List;

import javax.annotation.Resource;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import cn.itcast.springmvc.domain.Person;

import cn.itcast.springmvc.service.IPersonService;

@Controller

@RequestMapping(value = "/person")

public class PersonController {

@Resource(name = "personService")

private IPersonService personService;

@RequestMapping(value = "/findPersonById")

public String findPersonById(String id) {

Person p = personService.findPersonById(id);

System.out.println(p);

return "showPerson";

}

@RequestMapping(value = "/savePersonUI")

public String savePersonUI() {

return "savePerson";

}

@RequestMapping(value = "/savePerson")

public String savePerson(Person p) {

personService.savePerson(p);

System.out.println(p);

// 重定向

return "redirect:/person/findAllPerson";

}

@RequestMapping(value = "/deletePersonById")

public String deletePersonById(String id) {

personService.deletePersonById(id);

// 重定向

return "redirect:/person/findAllPerson";

}

// 批量删除

@RequestMapping(value = "/deletePersonByIds")

public String deletePersonByIds(String ids) {

ids = ids.substring(0, ids.length() - 1);

String[] idss = ids.split(",");

for (String id : idss) {

personService.deletePersonById(id);

}

// 重定向

return "redirect:/person/findAllPerson";

}

@RequestMapping(value = "/findAllPerson")

public String findAllPerson(HttpServletRequest req) {

List<Person> persons = personService.findAllPerson();

req.setAttribute("persons", persons);

return "personList";

}

@RequestMapping(value = "/updatePersonUI")

public String updatePersonUI(HttpServletRequest req, String id) {

Person p = personService.findPersonById(id);

req.setAttribute("p", p);

return "updatePerson";

}

@RequestMapping(value = "/updatePerson")

public String updatePerson(Person p) {

personService.updatePerson(p);

// 重定向

return "redirect:/person/findAllPerson";

}

}

11、personList.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>

<html>

<head>

<title>personList.jsp</title>

<script type="text/javascript">

function selectOrUnslect(){

var ids = document.getElementsByName(‘ids‘);

if(document.getElementById(‘topId‘).checked == true){

for(var i=0;i<ids.length;i++){

ids[i].checked = true;

}

}else{

for(var i=0;i<ids.length;i++){

ids[i].checked = false;

}

}

}

function deleteSomePerson(){

var ids = document.getElementsByName(‘ids‘);

var strIds = ‘‘;

for(var i=0;i<ids.length;i++){

if(ids[i].checked == true){

strIds += ids[i].value + ‘,‘;

}

}

window.location = ‘<%=path%>/person/deletePersonByIds?ids=‘ + strIds;

}

</script>

</head>

<body>

<h3>

用户列表页面

</h3>

<a href="<%=path %>/person/savePersonUI">加入用户</a><br>

<input type="button" value="批量删除" onclick="deleteSomePerson();">

<table width="70%" border="1">

<tr>

<td>

<input type="checkbox" id="topId" onclick="selectOrUnslect();">

</td>

<td>

name

</td>

<td>

age

</td>

<td>

address

</td>

<td>

删除

</td>

<td>

更新

</td>

</tr>

<c:forEach items="${persons}" var="p">

<tr>

<td>

<input type="checkbox" name="ids" value="${p.id }">

</td>

<td>

${p.name }

</td>

<td>

${p.age }

</td>

<td>

${p.address }

</td>

<td>

<a href="<%=path %>/person/deletePersonById?id=${p.id }">删除</a>

</td>

<td>

<a href="<%=path %>/person/updatePersonUI?id=${p.id }">更新</a>

</td>

</tr>

</c:forEach>

</table>

</body>

</html>

12、savePerson.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<html>

<head>

<title>savePerson.jsp</title>

</head>

<body>

<h3>加入用户页面</h3>

<form action="<%=path %>/person/savePerson" method="post">

<table>

<tr>

<td>name:</td>

<td><input type="text" name="name"></td>

</tr>

<tr>

<td>age</td>

<td><input type="text" name="age"></td>

</tr>

<tr>

<td>address</td>

<td><input type="text" name="address"></td>

</tr>

<tr>

<td><input type="submit" value="提交"></td>

<td><input type="reset" value="重置"></td>

</tr>

</table>

</form>

</body>

</html>

13、showPerson.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%

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 ‘showPerson.jsp‘ starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

</head>

<body>

This is showPerson.jsp

</body>

</html>

14、updatePerson.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<html>

<head>

<title>savePerson.jsp</title>

</head>

<body>

<h3>更新用户页面</h3>

<form action="<%=path %>/person/updatePerson" method="post">

<input type="hidden" name="id" value="${p.id}">

<table>

<tr>

<td>name:</td>

<td><input type="text" name="name" value="${p.name }"></td>

</tr>

<tr>

<td>age</td>

<td><input type="text" name="age" value="${p.age }"></td>

</tr>

<tr>

<td>address</td>

<td><input type="text" name="address" value="${p.address }"></td>

</tr>

<tr>

<td><input type="submit" value="提交"></td>

<td><input type="reset" value="重置"></td>

</tr>

</table>

</form>

</body>

</html>

时间: 2024-10-10 00:07:52

基于注解的Spring MVC整合Hibernate(所需jar包,spring和Hibernate整合配置,springMVC配置,重定向,批量删除)的相关文章

spring+struts2+hibernate 最精简jar包引用

转载自:http://blog.csdn.net/thomas0yang/article/details/6035679 1.spring(6个 ) IoC * SPRING_HOME/dist/spring.jar     * SPRING_HOME/lib/log4j/log4j-1.2.14.jar     * SPRING_HOME/lib/jakarta-commons/commons-logging.jar * SPRING_HOME/lib/junit/junit.jar (可选)

SSH框架整合配置所需JAR包(SSH整合)

Hibernate Jar: 1.hibernate3.jar,这个是hibernate3.0的核心jar包,没的选,像我们常用的Session,Query,Transaction都位于这个jar文件中,必要. 2.cglib-2.1.3.jar,CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必要. 3.asm.jar ASM字节码库 如果使用"cglib"则必要,必要 4.asm-attrs.jar ASM字节码库 如果使用"cglib&qu

hibernate的各个jar包的作用

hibernate的各个jar包的作用 最基本的Hibernate3.3.2之 JAR包(必要): 包名 位置 用途 hibernate3.jar /hibernate 核心JAR包 antlr.jar /hibernate/lib/required Another Tool for Language Recognition,可以构造语言识别器,解析HQL需要 commons-collections.jar /hibernate/lib/required 包含了一些Apache开发的集合类,功能

SSH框架整合所需jar包及文件配置

Hibernate 版本:hibernate-release-4.3.8.Final 核心jar包:\lib\required antlr-2.7.7 dom4j-1.6.1 hibernate-commons-annotations-4.0.5.Final hibernate-core-4.3.8.Final hibernate-jpa-2.1-api-1.0.0.Final jandex-1.1.0.Final javassist-3.18.1-GA jboss-logging-3.1.3.

Spring环境搭建之:导入jar包、配置文件名称及放置位置

Spring环境搭建之:导入jar包.配置文件名称及放置位置 现在项目开发中spring框架应用的还是比较多的,自己用的还不太熟练,每次用的时候总配置半天,总有些配置弄错,就找个时间总结以下,方便以后再搭建环境的时候直接拿来用. 以Spring4为例,这里就不提供Spring的下载地址了,官网上很容易下的到. 1.导入相关jar包 建好web项目以后,导入Spring自己的jar包 spring-beans-4.0.0.M2.jar spring-context-4.0.0.M2.jar spr

MAC OS X El CAPITAN 搭建SPRING MVC (1)- 目录、包名、创建web.xml

一. 下载STS(Spring Tool Suite) 官方地址:http://spring.io/tools/sts 下载spring tool suite for mac 最新版本.这个IDE是很不错的,其中spring插件已经配置好了.下载解压缩(一定要英文目录下),直接运行STS.app. 二.搭建spring mvc 结构目录 1.选择new - dynamic web project project name (键入项目名称 同样必须英文) Dynamic web module ve

SSH(Struts,Spring,Hibernate)所需架包官方下载

1.Struts所需架包点击进入官网下载 2.Spring所需架包点击进入官网下载 3.Hibernate所需架包点击进入官网下载

spring hibernate 其他的jar包下载

Spring官方的jar不是很好下载,闲着没事写了个专门下载spring和hibernate官方jar包的工具 ,方面自己也方面他人, 还可以检索常用jar的,需要的朋友自行下载. 主界面: 检索界面: 下载链接在这里:Spring&Hibernate_JAR

spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成文件夹 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE b