`
knight_black_bob
  • 浏览: 857971 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

springdata-jpa demo

阅读更多

demo 下载:

http://download.csdn.net/download/knight_black_bob/9421829

 



 

 

jar

 

 

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

    <welcome-file-list>
		<welcome-file>/back/jsp/main.jsp</welcome-file>
	</welcome-file-list>


	<!-- 配置启动 IOC 容器的 Listener -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
	</context-param>

	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	<!-- 配置字符编码过滤器 -->
	<!-- 字符编码过滤器必须配置在所有过滤器的最前面! -->
	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<!-- 配置可以把 POST 请求转为 PUT、DELETE 请求的 Filter -->
	<filter>
		<filter-name>HiddenHttpMethodFilter</filter-name>
		<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
	</filter>
	
	<filter-mapping>
		<filter-name>HiddenHttpMethodFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<!-- 配置 OpenEntityManagerInViewFilter. 可以解决懒加载异常的问题 -->
	<filter>
		<filter-name>OpenEntityManagerInViewFilter</filter-name>
		<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
	</filter>
	
	<filter-mapping>
		<filter-name>OpenEntityManagerInViewFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<!-- 配置 SpringMVC 的 DispatcherServlet -->
	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

</web-app>

 applicationContext.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:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:jpa="http://www.springframework.org/schema/data/jpa"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">

	<!-- 配置自动扫描的包 -->
	<context:component-scan base-package="com.curiousby">
		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
		<context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
	</context:component-scan>
	
	<!-- 配置数据源 -->
	<context:property-placeholder location="classpath:db.properties"/>

	<bean id="dataSource"
		class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="user" value="${jdbc.user}"></property>	
		<property name="password" value="${jdbc.password}"></property>	
		<property name="driverClass" value="${jdbc.driverClass}"></property>	
		<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>	
		
		<!-- 配置其他属性 -->
	</bean>
	
	<!-- 配置 JPA 的 EntityManagerFactory -->
	<bean id="entityManagerFactory"
		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="jpaVendorAdapter">
			<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"></bean>
		</property>	
		<property name="packagesToScan" value="com.curiousby"></property>
		<property name="jpaProperties">
			<props>
				<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
				<prop key="hibernate.hbm2ddl.auto">update</prop>
				<prop key="hibernate.show_sql">true</prop>
				<prop key="hibernate.format_sql">true</prop>
				<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
				
				<prop key="hibernate.cache.use_second_level_cache">true</prop>
				<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
				<prop key="hibernate.cache.use_query_cache">true</prop>
			</props>
		</property>
		<property name="sharedCacheMode" value="ENABLE_SELECTIVE"></property>
	</bean>
	
	<!-- 配置事务 -->
	<bean id="transactionManager"
		class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory" ref="entityManagerFactory"></property>	
	</bean>
	
	<!-- 配置支持基于注解的事务 -->
	<tx:annotation-driven transaction-manager="transactionManager"/>
	
	<!-- 配置 SpringData -->
	<jpa:repositories base-package="com.curiousby"
		entity-manager-factory-ref="entityManagerFactory"></jpa:repositories>
	
</beans>

 

 

 

springmvc-servlet.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:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">

	<!-- 配置自动扫描的包 -->
	<context:component-scan base-package="com.curiousby" use-default-filters="false">
		<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
		<context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
	</context:component-scan>
	
	<!-- 配置视图解析器 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value=""></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

	<mvc:default-servlet-handler/>
	<mvc:annotation-driven></mvc:annotation-driven>

</beans>

 

 

 

 

 

package com.curiousby.entity;
  
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
 
@Table(name="T_USER")
@Entity
public class User {
	 
	private int userid;
	private String username;
	private String password;
	private String tel;
	private String sex;
	private String description;
	
	@Id
    @GeneratedValue(strategy = GenerationType.AUTO) 
	public int getUserid() {
		return userid;
	} 
	public String getUsername() {
		return username;
	}
	public String getPassword() {
		return password;
	}
	public String getTel() {
		return tel;
	}
	public String getSex() {
		return sex;
	}
	public String getDescription() {
		return description;
	} 
	public void setUserid(int userid) {
		this.userid = userid;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public void setTel(String tel) {
		this.tel = tel;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	
	
	 
	 
}

 

package com.curiousby.repository;

import java.util.List;
 

import javax.persistence.QueryHint;

import org.springframework.data.jpa.repository.JpaRepository; 
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.jpa.repository.QueryHints;

import com.curiousby.entity.User;

/**
 * @author baoyou E-mail:curiousby@163.com
 * @version 2016年1月28日 下午1:13:09
 *
 * desc: ...
 */
public interface UserRepository extends JpaRepository<User, Integer>{
	
	@QueryHints({@QueryHint(name=org.hibernate.ejb.QueryHints.HINT_CACHEABLE,value="true")})
	@Query("FROM User u")
	List<User> getAll();
}

 

package com.curiousby.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.curiousby.entity.User;
import com.curiousby.repository.UserRepository;

@Service
public class UserService {

	@Autowired
	private UserRepository userRepository;

	@Transactional(readOnly = true)
	public List<User> allUser() {
		return userRepository.getAll();
	}

	@Transactional(readOnly = true)
	public void delUser(int userId) {
		userRepository.delete(userId);
	}

	@Transactional(readOnly = true)
	public User user(int userId) {
		return userRepository.findOne(userId);
	}

	@Transactional(readOnly = true)
	public void updateUser(User user) {
		userRepository.saveAndFlush(user);
	}

	@Transactional
	public void addUser(User user) {
		userRepository.save(user);
	}

}

 

package com.curiousby.action;

import java.util.List;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; 
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod;

import com.curiousby.entity.User;
import com.curiousby.service.UserService;
 

@Controller
public class UserController {

      @Autowired
      UserService service;

      @RequestMapping(value = "/userView.do")
      public String userView(ModelMap modelMap,String pageNo, String choice, HttpSession session){
            List<User> userList = service.allUser();
           modelMap.put("userList", userList);
           return "back/jsp/user/userView";
     }
 

      @RequestMapping(value = "/userDel{userId}.do")
      public String userDel(@PathVariable("userId")int userId ,ModelMap modelMap,String pageNo, String choice, HttpSession session){
             service.delUser(userId);
             String message1="删除成功";
             String message2="请返回……";
             String  url="userView.do";
             modelMap.put("message1", message1);
             modelMap.put("message2", message2);
             modelMap.put("url", url);
            return "infomationShow";
      }

      @RequestMapping(value ="/userGoAdd.do")
             public String userGoAdd(ModelMap modelMap,String pageNo, String choice, HttpSession session){
             return "back/jsp/user/userAdd";
      }

      @RequestMapping(value = "/userAdd.do",method=RequestMethod.POST)
      public String userAdd(User form,ModelMap modelMap,String pageNo, String choice, HttpSession session){
             service.addUser(form);
             String message1="添加成功";
             String message2="请返回……";
             String  url="userView.do";
             modelMap.put("message1", message1);
             modelMap.put("message2", message2);
            modelMap.put("url", url);
             return "infomationShow";
      }

      @RequestMapping(value = "/userGoUpdate{userId}.do")
      public String userGoUpdate(@PathVariable("userId")int userId ,ModelMap modelMap,String pageNo, String choice, HttpSession session){
            User user = service.user(userId);
           modelMap.put("user", user);
           return "back/jsp/user/userUpdate";
      }

      @RequestMapping(value = "/userUpdate.do",method=RequestMethod.POST)
      public String userUpdate(User form,ModelMap modelMap,String pageNo, String choice, HttpSession session){
             service.updateUser(form);
             String message1="修改成功";
             String message2="请返回……";
             String  url="userView.do";
             modelMap.put("message1", message1);
             modelMap.put("message2", message2);
             modelMap.put("url", url);
             return "infomationShow";
      }
      
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

  • 大小: 32.4 KB
  • 大小: 8.5 KB
分享到:
评论

相关推荐

    springData-jpa-demo

    本项目“springData-jpa-demo”旨在提供一个示例,帮助开发者理解如何在实践中应用Spring Data JPA。 首先,Spring Data JPA 是Spring框架的一部分,它为ORM(对象关系映射)工具如Hibernate提供了高级抽象层。通过...

    SpringMVC+Spring+Spring-Data-JPA整合-完整Demo

    本项目“SpringMVC+Spring+Spring-Data-JPA整合-完整Demo”旨在提供一个全面的示例,展示如何将SpringMVC、Spring和Spring Data JPA这三个关键模块集成到一个应用程序中。下面,我们将深入探讨这些技术及其整合的...

    Spring Data JPA Demo

    在这个“Spring Data JPA Demo”项目中,我们将深入探讨如何利用Spring Data JPA 实现高效、简洁的数据访问。 1. **Spring Data JPA 概述** Spring Data JPA 提供了一种声明式的方式,通过Repository 接口来操作...

    spring4 mvc + jpa demo

    &lt;spring-data-jpa.version&gt;1.6.2.RELEASE&lt;/spring-data-jpa.version&gt; &lt;hibernate-entitymanager.version&gt;4.1.0.Final&lt;/hibernate-entitymanager.version&gt; &lt;hibernate-jpa.version&gt;1.0.1.Final&lt;/hibernate-jpa....

    基于Idea+spring-boot+spring-data-jpa+spring-security的Demo

    这是一个基于IntelliJ IDEA(简称Idea)的项目,它采用了Spring Boot框架,结合了Spring Data JPA和Spring Security来构建一个完整的应用演示。这个Demo的主要目的是展示如何在实际开发中整合这些技术,以实现一个...

    spring-data-jpa-rest:spring-data-jpa和spring-data-rest的实践

    通过spring-data + hibernate + bonecp + mysql RESTful API通过spring-data-rest进行JPA的实践 下载并进行Maven安装 git clone 光盘spring-data-jpa-rest.git mvn安装 准备 准备一个名为“ spring-data-jpa-with...

    spring-data-jpa-demo:一个关于Spring-data-JPA使用的demo,附带Spring Data JPA的一系列入门文章,详见http

    spring-data-jpa-demo一个关于Spring-data-JPA使用的demo1、2、3、4、5、6、7、8、9、9.1、例子 10、11、12、13、请通过社区SpringForAll()获取文章更新Spring For All 是什么「文艺版」关于Spring 的一切「接地气...

    jpa的学习---jpa demo工程

    在Java项目中,JPA的配置通常通过`pom.xml`文件引入依赖,如Spring Data JPA,然后在`application.properties`或`application.yml`文件中设置数据源、实体扫描路径、JPA供应商(如Hibernate)等相关属性。...

    基于maven集成spring5 hibernate5 spring-data-jpa2 H2的简单实例

    网上找不到这样的例子,只好我自已整理一份了。 该demo是基于maven集成spring5、hibernate5、spring-data-jpa2、H2的可以运行的最基本的main例子。 希望能对大家有帮助。

    SpringBoot利用Spring-Data-Jpa操作数据库

    SpringBoot是一款由Pivotal团队开发的轻量级框架,它简化了基于Spring的...总的来说,这个DEMO项目提供了一个使用Spring Data JPA进行数据库操作的完整流程,可以帮助开发者快速理解和上手Spring Boot与数据库的集成。

    spring mvc data jpa maven demo 全注解

    标题中的“Spring MVC Data JPA Maven Demo 全注解”是指一个使用Spring MVC、Spring Data JPA和Maven构建的示例项目,该项目全面利用注解进行配置,旨在简化开发流程并提高效率。让我们详细了解一下这三个核心组件...

    SprinMVC+Spring+Spring-Data-JPA

    通过深入学习和实践这个Demo,你可以掌握如何利用Spring MVC处理HTTP请求,如何通过Spring进行依赖注入和事务管理,以及如何使用Spring Data JPA简化数据库操作。这将为你构建高效、可维护的Java Web应用打下坚实...

    Spring MVC+Spring+Spring data JPA

    Spring MVC、Spring 和 Spring Data JPA 是 Java 开发中非常重要的三个框架,它们共同构建了一个强大的企业级应用开发环境。Spring MVC 是一个用于构建 Web 应用的模型-视图-控制器(MVC)框架,Spring 提供了依赖...

    jpademo.rar

    本案例"jpademo.rar"提供了一个纯注解方式整合Spring-data-JPA的实例,旨在帮助开发者深入理解如何在不依赖XML配置的情况下,通过注解实现数据访问的便捷与高效。 首先,让我们来看看Spring-data-JPA的核心概念。...

    spring boot-mybatis demo

    这些依赖包括 `spring-boot-starter-web`(用于 web 开发)、`spring-boot-starter-data-jpa`(可选,用于 JPA 操作,但这里我们用 MyBatis)和 `mybatis-spring-boot-starter`(MyBatis 与 Spring Boot 集成)。...

    spring -data-jpa-crud

    demo为spring boot项目 环境: 目前的程序环境是spring boot项目,JDK8.0,MySQL Connector / J 8.0(8.0版本支持java8及其以上的版本,支持5.6...Spring Data JPA 自动提供CRUD的实现,能够部分解放工程师们的工作量。

    springDataJpa测试demo

    在这个名为“springDataJpa测试demo”的项目中,我们看到它是一个基于Maven构建的工程,目的是演示如何在Spring应用中集成并测试Spring Data JPA的功能。这里我们将详细探讨Spring Data JPA以及与Maven和MySQL数据库...

    spring-data-jpa

    JPA对于单表的或者简单的SQL查询非常友好,甚至可以说非常智能。他为你准备好了大量的拿来即用的持久层操作方法。甚至只要写findByName这样一个接口方法,他就能智能的帮你执行根据名称查找实体类对应的表数据,完全...

    springboot+data-jpa+thymeleaf简单demo

    SpringBoot + Data JPA + ...通过这个DEMO,开发者可以了解到如何将Spring Boot、Data JPA和Thymeleaf结合使用,快速构建一个具备用户管理功能的Web应用。同时,这也是学习和理解Spring全家桶中关键组件交互的好例子。

    spring data jpa 案例

    - **spring-data-jpa-demo**:一个完整的Spring Data JPA演示应用,涵盖了多种使用场景。 4. **具体操作步骤** - **配置**:在`pom.xml`中添加Spring Data JPA和相应的数据库驱动依赖,配置`application....

Global site tag (gtag.js) - Google Analytics