Spring 与SpringData的整合

  • SpringData作用: 致力于减少数据库访问层的开发量,开发者唯一要做的就是声明持久层的接口 ,其他的都交由SpringData JPA 来帮我们完成
  • 使用Spring Data JPA进行持久层开发需要的步骤
  1. 配置Spring 整合JPA
  2. 在Spring配置文件中配置SpringData,让Spring为声明的接口创建对象代理对象,配置了<jpa:repositories><jpa:repositories/> ,Spring 初始化容器将会扫描base-package 指定的包目录及其子目录,为继承Repository或者其子接口的接口创建代理对象,并将代理对象放入到IOC容器,业务层便可以通过Sping自动封装的特性来直接使用对象。
  3. 声明持久层接口  该接口继承Repositoty, Repsitory是一个标记接口,他不包含任何的方法;如果想定义其他方法可以继承其子接口定义方法
  4. 在接口中声明需要的方法。
  • 环境的搭建

  1. 同时下载Spring Data Commons(SpringData 的基础包) 和Spring Data JPA 两个发布包,并加如spring相关Jar ,数据库连接Jar,c3p0等
  2. 在Spring的配置文件中配置SpringData
    <jpa:repositories base-package="com.atgugui.springdata"
    	entity-manager-factory-ref="entityManagerFactory"></jpa:repositories>
    base-package: 用于扫描Repository Bean 所在的packge ,会自动的将这些Bean放到IOC容器中
  3.  创建applicationContext.xml文件,创建资源文件用于数据库连接这里为连接MySql (db.properties)
  • 整合流程
  1. 配置数据源
    <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.diverClass}"></property>
    		<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
    	</bean>
  2. 配置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.at.springdata"></property>
    		<property name="jpaProperties">
    			<props>
    				<!-- 二级缓存相关 -->
    				<!--  
    				<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
    				<prop key="net.sf.ehcache.configurationResourceName">ehcache-hibernate.xml</prop>
    				-->
    				<!-- 生成的数据表的列的映射策略 -->
    				<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
    				<!-- hibernate 基本属性 -->
    				<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
    				<prop key="hibernate.show_sql">true</prop>
    				<prop key="hibernate.format_sql">true</prop>
    				<prop key="hibernate.hbm2ddl.auto">update</prop>
    			</props>
    		</property>
    	</bean>


  3.  配置事务管理器
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"><property name="entityManagerFactory" ref="entityManagerFactory"></property></bean>
  4. 配置支持注解的事务
     <tx:annotation-driven  transaction-manager="transactionManager"/>
     	 
  5.  配置SpringData
    <jpa:repositories base-package="com.at.springdata"
    	entity-manager-factory-ref="entityManagerFactory"></jpa:repositories>
    PS: 在配置完一项时 记得进行单元测试  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
人大金仓8是一款功能强大、高效稳定的数据存储解决方案,而Spring Data是一个开源的数据访问框架,它简化了与不同数据源进行交互的过程。将人大金仓8与Spring Data进行整合,可以进一步提高数据存储和访问的效率与便捷性。 首先,人大金仓8提供了丰富的数据存储功能,包括数据的增删改查、事务处理等。Spring Data可以通过与人大金仓8的整合,将这些功能与Spring应用程序的数据访问层结合起来,使得开发人员可以更加方便地操作和管理数据。 其次,通过Spring Data整合,我们可以使用注解或XML配置的方式定义数据模型和数据库连接信息。这样,我们无需手动编写大量的数据访问层代码,Spring Data会基于人大金仓8的支持自动生成相应的数据访问类和方法,简化了开发过程。 另外,Spring Data提供了丰富的查询方法和查询语言支持,包括基于方法命名规则的查询、基于注解的查询和基于查询DSL的查询等。这些查询方式可以与人大金仓8进行无缝整合,提供了更加灵活和高效的数据检索功能。 总而言之,人大金仓8与Spring Data整合可以帮助我们更好地管理和访问数据,提高开发效率和系统性能。通过简化数据访问层的代码开发和提供多种查询方式支持,它们共同为我们构建稳定、高效的数据存储解决方案提供了便捷和强大的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值