于今腐草无萤火,终古垂杨有暮鸦。这篇文章主要讲述Spring Data开发手册|手摸手教你简化持久层开发工作相关的知识,希望能为你提供帮助。
??
?Spring Data?,是为数据访问提供熟悉且一致的?基于Spring的编程模型?,同时仍然保留底层数据存储的特殊特性。
它是对于数据访问技术,关系数据库和非关系数据库,map-reduce框架和基于云的数据服务变得容易。Spring Data是一个总括项目,其中?包含很多特定于数据库相关的子项目?。
首先,先带大家看一下本篇文章的大致介绍。
没目录怎么知道这篇到底有多少干货呢?
是不是很清晰呢,现在开始进入正文,一个一个来:
Spring Data是什么我们传统的开发中,我们的整个DAO层的代码上都是相对来说,都是比较复杂的,在这种情况下,Spring团队就考虑到一个问题,能不能开发一个框架,这个框架能够最大限度的减少DAO层的开发呢?
Spring Data就是为了简化DAO层操作的一个框架
传统的增删改查在我们的Spring Data中已经实现了,也就是说大部分的DAO层操作部分不用写了,仅仅只是需要编写复杂的业务的调用就可以啦
写的这部分的代码,是需要写接口的声明就可以啦,不用写实现,这个实现是自动实现的
Spring Data能干什么?主要用途:?
即使你需要写DAO,也只是写声明就可以啦,不用写实现
Spring Data的第一个HelloWorld程序(JPA、Hibernate、Spring、SpringMVC、Spring Data)导包
编写配置文件
<
?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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
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/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa-1.2.xsd">
<
!--引入Properties文件-->
<
context:property-placeholder location="classpath:config/db.properties"/>
<
!--配置c3p0的连接池-->
<
bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<
property name="driverClass" value="https://www.songbingjia.com/android/$driverClass">
<
/property>
<
property name="jdbcUrl" value="https://www.songbingjia.com/android/$url">
<
/property>
<
property name="user" value="https://www.songbingjia.com/android/$user">
<
/property>
<
property name="password" value="https://www.songbingjia.com/android/$password">
<
/property>
<
property name="acquireIncrement" value="https://www.songbingjia.com/android/$acquireIncrement">
<
/property>
<
property name="maxPoolSize" value="https://www.songbingjia.com/android/$maxPoolSize">
<
/property>
<
property name="minPoolSize" value="https://www.songbingjia.com/android/$minPoolSize">
<
/property>
<
property name="maxStatements" value="https://www.songbingjia.com/android/$maxStatements">
<
/property>
<
/bean>
<
!--配置JPA实现产品的适配器-->
<
bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<
/bean>
<
!--配置EntityManager对象-->
<
bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<
!--注入数据源-->
<
property name="dataSource" ref="dataSource">
<
/property>
<
!--扫描entity包的-->
<
property name="packagesToScan" value="https://www.songbingjia.com/android/com.qy.helloworld">
<
/property>
<
!--注入JPA实现产品的适配器-->
<
property name="jpaVendorAdapter" ref="jpaVendorAdapter">
<
/property>
<
!--配置的是Hibernate的其他配置除了连接数据库4大要素之外的其余配置-->
<
property name="jpaProperties">
<
props>
<
!--是否自动创建表 -->
<
prop key="hibernate.hbm2ddl.auto">
update<
/prop>
<
!--配置是否展示SQL-->
<
prop key="hibernate.show_sql">
true<
/prop>
<
!--是否格式化SQL-->
<
prop key="hibernate.format_sql">
true<
/prop>
<
!--连接数据库的方言-->
<
prop key="hibernate.dialect">
org.hibernate.dialect
推荐阅读
- out参数不用赋值(这么神奇吗!)
- 全网最硬核 Java 新内存模型解析与实验单篇版(不断更新QA中)
- Volcano(在离线作业混部管理平台,实现智能资源管理和作业调度)
- 记录一次离线下centos7.1升级到指定的centos7.4系统
- 单机MySQL多实例主从同步
- (胎教级教学)在腾讯云轻量应用服务器上部署javaweb项目
- centos7.4系统不正常断电后修复记录
- Flink SQL Client综合实战
- 最新发布 Debian 系统的详细安装过程