@data注解_[易学SpringBoot]spring-data-jpa的使用(一)

spring-data-jpa的使用

JPA

JPA的全称是Java Persistence API。这是一个Spring在数据持久化方面的接口标准。并非是一个实现。目的在于统一目前的ORM开发框架。

使用spring-data-jpa,开发的感觉就是爽,不需要写一行sql,就可以满足绝大部分的业务开发。

按照约定好的【方法命名规则】写dao层接口,就可以在不写接口实现的情况下,实现对数据库的访问和操作。同时提供了很多除了CRUD之外的功能,如分页、排序、复杂查询等等。

不抬杠的说,企业级应用基本上可以不用写任何一条sql,当然spring-data-jpa也提供自己写sql的方式,这个就看个人怎么选择,都可以。我觉得都行。

使用

1,引入依赖:

 org.springframework.boot spring-boot-starter-data-jpa mysql mysql-connector-java 

2,配置连接

spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/mydb username: root password: 123456 jpa: hibernate: ddl-auto: update show-sql: true

3,创建实体类

注意这几个注解,这是JPA的关键使用

@Entity //表示对应数据库中一个表public class People { @Id //主键 @GeneratedValue //自增 private int id; private String name; private int age; // 需要一个无参构造函数 public People() { } get、set省略}

4,创建一个仓库接口

只需要简单的继承JpaRepository即可,不需要任何方法即可拥有基本的CRUD操作

@Repositorypublic interface PeopleRepository extends JpaRepository{}

只需要加上@Repository注解,以便spring自动注入

5,测试

写一个测试类

6822559c50c7443a8613060e097b54e3
d057c1ebcddc422da49738425f8fa463

可以看到PeopleRepository已经为我们预置了大量的方法。

b70d72d4d8874cad87a4e4eaee171542

第一次启动时,会看到create table的语句。并不需要我们手动创建表。jpa会自动搞定。因为我们之前配置的ddl-auto是update,所以只有在table不存在时才会创建。

这里我必须多说一句,ddl-auto还有其他选项。

create:

每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就会导致数据库表数据丢失。千万慎重,一般不要设置这个。

create-drop :

每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。一般也不用。

update:

最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构,以后加载hibernate时根据 model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。

validate :

每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。

648e53c72a1d459db639f56878e45b4c

然后可以看到执行的sql语句,这是因为我们配置了show-sql: true参数

看下自动创建的表

6107e261f2d4480c9c5eb4a021887a2f

好了,本篇演示spring-data-jpa的基本用法,非常简单方便。开发起来体验爽极了。

但是面对真实业务场景表现如何?

下一篇讲下使用jpa进行复杂查询及多表联查。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值