springboot:spring data jpa使用一

Posted cdwxs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot:spring data jpa使用一相关的知识,希望对你有一定的参考价值。

spring data jpa 、hibernate 和jpa 三者之间的关系 :

  JPA是规范,Hibernate除了作为ORM框架之外,它也是一种JPA实现; Spring Data JPA 是在JPA规范的基础下提供了Repository层的实现; ORM框架都实现了JPA规范,但是在不同ORM框架之间切换是需要编写的代码有一些差异,而通过使用Spring Data Jpa能够方便大家在不同的ORM框架中间进行切换而不要更改代码。并且Spring Data Jpa对Repository层封装的很好,可以省去不少的麻烦。

在pom.xml里加入如下依赖:

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

 

创建dto对象:

创建操作数据的Repository对象

 

JpaRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T>

 

从上面可以看出,CustomerRepository继承了JpaRepository之后就拥有了CrudRepository、QueryByExampleExecutor、PagingAndSortingRepository的基本能力了,包括基本的增删改查都有了。

数据库配置

需要在application.properties加上如下参数:

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.hbm2ddl.auto=create

 

这里要注意到最后一行参数spring.jpa.properties.hibernate.hbm2ddl.auto=create,这个参数是为了方便处理数据库表,该属性的值一般有如下几个:

validate 加载hibernate时,验证创建数据库表结构
create 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
create-drop 加载hibernate时创建,退出是删除表结构
update 加载hibernate自动更新数据库结构

 教程上写create-drop,就是每次启动都要重新创建表,如果表比较少还好,但是多了就是麻烦,还有初始化数据,我这里写的是create,只完成表的初始化创建即可,后面就不需要关注了。基本的配置已经完成了。 

demo示例

因为比较简单,这里只是简单写几个简单的方法进行测试,这里为了简单方便起见,我讲测试的方法放到Controller内——Customercontroller。

1)、save方法,初始化,保存Customer数据**

 z

 在浏览器房屋:http://localhost:8080/customer/save,数据保存数据

JPA系列:创建查询

1、在CustomerRepository接口中,有如下定义:

2、在CustomerController代码中使用CustomerRepository进行数据查询操作。如下:

3、创建查询的方法名命名指南

同时,查询创建还提供了一些基本的方法命名规则,如下:

其中:In和NotIn也将集合的任何子类作为aparameter和数组或varargs。对于相同逻辑操作符的其他语法版本

参考:
官方文档:https://docs.spring.io/spring-data/jpa/docs/current/reference/html
API官方文档:http://docs.spring.io/spring-data/data-jpa/docs/current/api/
JPQL文档:http://www.blogjava.net/calmJava/archive/2011/04/01/347450.html

DEMO示例:https://github.com/icnws/spring-data-jpa-demo

以上是关于springboot:spring data jpa使用一的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot+Spring Data JPA整合H2数据库

springboot 怎么加载mysql的

Spring Data 系列 Spring+JPA入门

springboot :spring data jpa的使用

SpringBoot整合spring-data-jpa

springboot 集成 spring-data-elasticsearch