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

转载于:https://www.cnblogs.com/xianshiwang/p/9068583.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值