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捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
本项目“springData-jpa-demo”旨在提供一个示例,帮助开发者理解如何在实践中应用Spring Data JPA。 首先,Spring Data JPA 是Spring框架的一部分,它为ORM(对象关系映射)工具如Hibernate提供了高级抽象层。通过...
本项目“SpringMVC+Spring+Spring-Data-JPA整合-完整Demo”旨在提供一个全面的示例,展示如何将SpringMVC、Spring和Spring Data JPA这三个关键模块集成到一个应用程序中。下面,我们将深入探讨这些技术及其整合的...
在这个“Spring Data JPA Demo”项目中,我们将深入探讨如何利用Spring Data JPA 实现高效、简洁的数据访问。 1. **Spring Data JPA 概述** Spring Data JPA 提供了一种声明式的方式,通过Repository 接口来操作...
<spring-data-jpa.version>1.6.2.RELEASE</spring-data-jpa.version> <hibernate-entitymanager.version>4.1.0.Final</hibernate-entitymanager.version> <hibernate-jpa.version>1.0.1.Final</hibernate-jpa....
这是一个基于IntelliJ IDEA(简称Idea)的项目,它采用了Spring Boot框架,结合了Spring Data JPA和Spring Security来构建一个完整的应用演示。这个Demo的主要目的是展示如何在实际开发中整合这些技术,以实现一个...
通过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使用的demo1、2、3、4、5、6、7、8、9、9.1、例子 10、11、12、13、请通过社区SpringForAll()获取文章更新Spring For All 是什么「文艺版」关于Spring 的一切「接地气...
在Java项目中,JPA的配置通常通过`pom.xml`文件引入依赖,如Spring Data JPA,然后在`application.properties`或`application.yml`文件中设置数据源、实体扫描路径、JPA供应商(如Hibernate)等相关属性。...
网上找不到这样的例子,只好我自已整理一份了。 该demo是基于maven集成spring5、hibernate5、spring-data-jpa2、H2的可以运行的最基本的main例子。 希望能对大家有帮助。
SpringBoot是一款由Pivotal团队开发的轻量级框架,它简化了基于Spring的...总的来说,这个DEMO项目提供了一个使用Spring Data JPA进行数据库操作的完整流程,可以帮助开发者快速理解和上手Spring Boot与数据库的集成。
标题中的“Spring MVC Data JPA Maven Demo 全注解”是指一个使用Spring MVC、Spring Data JPA和Maven构建的示例项目,该项目全面利用注解进行配置,旨在简化开发流程并提高效率。让我们详细了解一下这三个核心组件...
通过深入学习和实践这个Demo,你可以掌握如何利用Spring MVC处理HTTP请求,如何通过Spring进行依赖注入和事务管理,以及如何使用Spring Data JPA简化数据库操作。这将为你构建高效、可维护的Java Web应用打下坚实...
Spring MVC、Spring 和 Spring Data JPA 是 Java 开发中非常重要的三个框架,它们共同构建了一个强大的企业级应用开发环境。Spring MVC 是一个用于构建 Web 应用的模型-视图-控制器(MVC)框架,Spring 提供了依赖...
本案例"jpademo.rar"提供了一个纯注解方式整合Spring-data-JPA的实例,旨在帮助开发者深入理解如何在不依赖XML配置的情况下,通过注解实现数据访问的便捷与高效。 首先,让我们来看看Spring-data-JPA的核心概念。...
这些依赖包括 `spring-boot-starter-web`(用于 web 开发)、`spring-boot-starter-data-jpa`(可选,用于 JPA 操作,但这里我们用 MyBatis)和 `mybatis-spring-boot-starter`(MyBatis 与 Spring Boot 集成)。...
demo为spring boot项目 环境: 目前的程序环境是spring boot项目,JDK8.0,MySQL Connector / J 8.0(8.0版本支持java8及其以上的版本,支持5.6...Spring Data JPA 自动提供CRUD的实现,能够部分解放工程师们的工作量。
在这个名为“springDataJpa测试demo”的项目中,我们看到它是一个基于Maven构建的工程,目的是演示如何在Spring应用中集成并测试Spring Data JPA的功能。这里我们将详细探讨Spring Data JPA以及与Maven和MySQL数据库...
JPA对于单表的或者简单的SQL查询非常友好,甚至可以说非常智能。他为你准备好了大量的拿来即用的持久层操作方法。甚至只要写findByName这样一个接口方法,他就能智能的帮你执行根据名称查找实体类对应的表数据,完全...
SpringBoot + Data JPA + ...通过这个DEMO,开发者可以了解到如何将Spring Boot、Data JPA和Thymeleaf结合使用,快速构建一个具备用户管理功能的Web应用。同时,这也是学习和理解Spring全家桶中关键组件交互的好例子。
- **spring-data-jpa-demo**:一个完整的Spring Data JPA演示应用,涵盖了多种使用场景。 4. **具体操作步骤** - **配置**:在`pom.xml`中添加Spring Data JPA和相应的数据库驱动依赖,配置`application....