`

Spring DATA jpa 持久化实例 1(转)

    博客分类:
  • jpa
 
阅读更多
JPA  JAVA Persistence API 持久化API 。
由于hibernate + spring + spring security 验证时 处理用户密码验证检索库无法进行依赖注入,所以选择JPA研究看看。
首先当然是准备活动了:


1、下载开发所需要的发布包。
1)spring-framework-3.1.2.RELEASE-with-docs.zip  
下载地址:http://www.springsource.org/spring-framework
2)hibernate-release-4.1.6.Final.zip
下载地址:http://olex.openlogic.com/packages/hibernate
3)Spring Data JPA
Spring Data JPA
下载地址:http://www.springsource.org/spring-data/jpa
Spring Data Commons
下载地址:http://www.springsource.org/spring-data/commons
4)其他一些依赖包可以从 http://ebr.springsource.com/repository/app/library
                         http://ebr.springsource.com/repository/app/bundle
    上查找下载


2、依赖包明细:


  使用的是spring3.2.3
          spring-data-jpa-1.3.4.RELEASE.jar
          spring-data-commons-1.5.0.RELEASE.jar
  ebr.springsource.com中可以找到:
          com.springsource.antlr-2.7.7.jar
          com.springsource.net.sf.cglib-2.2.0.jar
          com.springsource.org.aopalliance-1.0.0.jar
          com.springsource.org.apache.commons.logging-1.1.1.jar
          com.springsource.org.aspectj.weaver-1.5.4.jar
   其他包:
          slf4j-api-1.6.4.jar
            slf4j-log4j12-1.6.4.jar
  mysql-connector-java
        log4j-1.2.14.jar
         commons-lang3-3.1.jar
 
hibernate 4.2.3 lib:

hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.6.Final.jar hibernate-entitymanager-4.1.6.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar javassist-3.15.0-GA.jar jboss-logging-3.1.0.GA.jar jboss-transaction-api_1.1_spec-1.0.0.Final.jar
javassist-3.12.0.GA.jar
dom4j-1.6.1.jar
antlr-2.7.7.jar


3、JPA配置文件persistence.xml
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="MYJPATEST" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <!--配置Hibernate方言 --> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" /> <!--配置数据库驱动 --> <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" /> <!--配置数据库用户名 --> <property name="hibernate.connection.username" value="root" /> <!--配置数据库密码 --> <property name="hibernate.connection.password" value="root" /> <!--配置数据库url --> <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/spring_data_jpa?useUnicode=true&amp;characterEncoding=UTF-8" /> <!--设置外连接抓取树的最大深度 --> <property name="hibernate.max_fetch_depth" value="3" /> <!--自动输出schema创建DDL语句 --> <property name="hibernate.hbm2ddl.auto" value="update" /> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.format_sql" value="true" /> <property name="javax.persistence.validation.mode" value="none"/>
 
<!--增加cache -->

<property name="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.SingletonEhCacheProvider" /> <property name="hibernate.cache.use_query_cache" value="true" /> <property name="hibernate.cache.use_second_level_cache" value="true" /> <property name="hibernate.generate_statistics" value="true" /> <property name="hibernate.use_sql_comments" value="true" />     

</properties>
</persistence-unit>
</persistence>


4、Spring配置文件applicationContext.xml
在 beans中 必须加入 default- default-lazy-init="true"
自动寻找资源对应根据name来确定,以及延迟加载是确定。
 
<?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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xmlns:cache="http://www.springframework.org/schema/cache" 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-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"
  default- default-lazy-init="true"  >
<context:annotation-config /> <context:component-scan base-package="com.test"/> <!-- 定义实体管理器工厂 --> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitName" value="MYJPATEST"/> </bean> <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <!-- 启用 annotation事务--> <tx:annotation-driven transaction-manager="transactionManager"/> <!-- 配置Spring Data JPA扫描目录--> <jpa:repositories base-package="com.test.repository"/> </beans>


5、web.xml 配置
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <!-- log4j配置 --> <context-param> <param-name>webAppRootKey</param-name> <param-value>springdatajpa.root</param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</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> <!-- 配置spring监听器 --> <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> <!-- 配置缓存清除监听器,负责处理由 JavaBean Introspector 功能而引起的缓存泄露 --> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

6、日志配置

log4j.rootLogger=INFO,CONSOLE,FILE log4j.addivity.org.apache=true # 应用于控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=INFO log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n #log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n #应用于文件 log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender log4j.appender.FILE.File=${springdatajpa.root}/springdatajpa.log log4j.appender.FILE.Append=true log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
分享到:
评论
1 楼 tgxblue 2015-05-30  
  
排版像狗屎一样烂, 你贴出来给谁看?!

相关推荐

    spring data jpa入门实例

    【Spring Data JPA 入门实例】 Spring Data JPA 是 Spring 框架的一个模块,它简化了数据库访问层(DAO)的开发,通过提供自动化的 Repository 实现,使得开发者无需编写大量的 CRUD(创建、读取、更新、删除)代码...

    SpringData JPA 参考文档PDF 英文

    Spring Data JPA 1.4.2版本的官方参考文档详细介绍了如何使用Spring Data JPA来简化数据持久化层的编码工作。 核心概念部分(Core concepts)涵盖了Spring Data JPA的基本概念,例如使用仓库(Repositories)、定义...

    spring data jpa 入门例子

    1. **什么是Spring Data JPA** Spring Data JPA是Spring框架的一部分,它为JPA提供了一种声明式的方法来处理数据访问层。通过使用Spring Data JPA,你可以避免编写大量的DAO(数据访问对象)和Repository代码,只需...

    Spring Data JPA1.7中文文档

    Spring Data JPA 是一个强大的框架,它简化了与Java Persistence API (JPA)的交互,提供了对数据库操作的便捷抽象。1.7.0.RELEASE 版本的文档由 Oliver Gierke、Thomas Darimont 和 Christoph Strobl 编写,并由 ...

    Spring+Spring MVC+SpringData JPA整合完成增删改查,翻页实例.zip

    总的来说,"Spring+Spring MVC+SpringData JPA整合完成增删改查,翻页实例"是一个全面展示Spring生态系统的示例项目,涵盖了Web应用开发的主要方面:请求处理、数据持久化和用户界面。通过这个实例,开发者可以学习...

    2017 spring data jpa+spring4.2+springmvc+hibernate4.3 maven环境intellij idea增删改查实例

    Spring Data JPA是Spring框架的一部分,它简化了持久化数据的过程,使得与数据库交互变得更加容易。通过Spring Data JPA,开发者可以使用Java Persistence API (JPA) 和ORM(对象关系映射)工具如Hibernate,无需...

    Spring Data JPA 简化 JPA 开发

    JPA 通过注解或 XML 配置来定义对象与数据库表之间的映射关系,实现了数据持久化。 Spring Data JPA 是 Spring Data 家族的一员,它的设计目标是进一步减少开发人员在数据访问层的工作量。通过 Spring Data JPA,...

    spring data jpa demo

    Spring Data JPA 是 Spring 框架的一个模块,主要目的是为了简化数据库访问,并且提供一个统一的抽象层,让开发者能够方便地使用各种持久化技术,如 Hibernate、EclipseLink 等 JPA 实现。Spring Data JPA 提供了对 ...

    SpringDataJpa.rar

    Spring Data JPA是Spring框架的一个模块,它简化了Java Persistence API (JPA)的使用,提供了与各种数据...配合MySQL数据库,Spring Data JPA可以轻松地实现数据的持久化和管理,是现代Java应用中常用的数据访问技术。

    Spring Data JPA - 开发文档.pdf

    JPA即Java Persistence API,是Java EE中用于持久化管理的一个标准。Spring Data JPA的目标是简化数据访问层(Repository层)的代码开发,让开发者能够更专注于业务逻辑的实现。 ### 核心概念 在Spring Data JPA中...

    spring-data-jpa

    Spring Data JPA 是Spring框架的一个子项目,它提供了基于JPA规范的数据持久化解决方案,主要目的是简化数据访问层的代码。JPA(Java Persistence API)是Java EE(现在是Jakarta EE)的一部分,提供了对象关系映射...

    分布式微服务例子:SpringBoot2.X+SpringCloud+SpringDataJPA+Consul+Feign+Swagger

    它提供了ORM(对象关系映射)的抽象层,支持包括JPA在内的多种持久化技术,简化了数据库查询和存储操作。 4. **Consul**: 是一个用于服务发现和服务网格的数据中心解决方案。在这里,它作为注册中心,让微服务能够...

    Spring Data JPA文档.zip

    Spring Data JPA是Java开发中的一个强大框架,它简化了持久化层的开发,通过将ORM(对象关系映射)与Spring框架相结合,为开发者提供了简单、高效的数据库操作方式。这个压缩包“Spring Data JPA文档.zip”包含了...

    SpringMVC +Hibernate JPA+Spring-data-jpa实例

    1. **配置文件**:设置SpringMVC、Hibernate JPA和Spring Data JPA的相关配置,如数据源、实体扫描路径、JPA配置等。 2. **实体类**:定义与数据库表对应的实体类,包含属性和注解。 3. **Repository接口**:定义...

    spring data jpa1.7 中文

    - **Bug追踪器**: 项目使用 Jira (https://jira.spring.io/browse/DATAJPA) 追踪 bug 和功能请求,用户可以在此报告问题或者查看已有的问题列表。 - **版本库**: 官方提供的稳定版本库位于 ...

    spring data jpa -reference 使用指南(2014年9月版)

    这一部分讲解了如何创建和配置Spring Data JPA存储库实例。包括了XML配置、Java Config配置以及独立使用存储库的方式。此外,还介绍了一个重要的概念——过滤器,这允许开发者根据某些条件动态地修改存储库行为。 #...

    springboot+springdata jpa增删改查

    综上所述,这个项目涵盖了从后端数据持久化、前端动态页面生成、无刷新交互到UI设计以及缓存优化等多个方面,是一个全面的Web开发实例,对于初学者来说,既可以从中学到SpringBoot和SpringData JPA的使用,也能了解...

    spring-data-jpa-reference API

    - **2.6.1 合并持久化单元**:支持在同一应用中使用多个持久化单元,满足复杂应用场景的需求。 #### 四、附录 - **A. Namespace 参考**:提供了详细的配置元素说明,如 `&lt;repositories/&gt;` 和 `&lt;repository/&gt;` 等。...

Global site tag (gtag.js) - Google Analytics