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
以上是关于springboot:spring data jpa使用一的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot+Spring Data JPA整合H2数据库