zoukankan      html  css  js  c++  java
  • spring-data-jpa

    Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套 JPA 应用框架,底层使用了 Hibernate 的 JPA 技术实现,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!spring data jpa 让我们解脱了 DAO 层的操作,基本上所有 CRUD 都可以依赖于它来实现

    具体使用:(springboot)

    1、配置pom文件

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

    2、application.yml

    spring:
      jpa:
        show-sql: true
        hibernate:
          ddl-auto: update

    #create:每次加载Hibernate时都会删除上一次生成的表(包括数据),然后重新生成新表,即使两次没有任何修改也会这样执行。适用于每次执行单测前清空数据库的场景。

    #create-drop:每次加载Hibernate时都会生成表,但当SessionFactory关闭时,所生成的表将自动删除。

    #update:最常用的属性值,第一次加载Hibernate时创建数据表(前提是需要先有数据库),以后加载Hibernate时不会删除上一次生成的表,会根据实体更新,只新增字段,不会删除字段(即使实体中已经删除)。

    #validate:每次加载Hibernate时都会验证数据表结构,只会和已经存在的数据表进行比较,根据model修改表结构,但不会创建新表。

    3、Repository

    respository创建:

      ①可以继承Repository类,该类只是一个借口类,并没有方法

      ②可以继承CrudRepository

      ③可以加成JpaRepository

      ④继承PagingAndSortingRepository,可以进行分页查询,只需要方法的最后一个参数位置假如Pageable即可

    package com.nxz.testboot.jpa;
    
    
    import com.nxz.testboot.domain.User;
    import org.springframework.data.repository.PagingAndSortingRepository;
    
    import java.util.List;
    
    public interface UserRespository extends PagingAndSortingRepository<User, Long> {
    
        List<User> findUsersByUsernameNotNull();
    
    }

    4、Entity

    package com.nxz.testboot.domain;

    import lombok.Data;

    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;

    @Data
    @Entity(name = "user")
    public class BscUser {

    @Id
    @GeneratedValue
    private long id;
    @Column(name = "username")
    private String username;
    @Column(name = "sex")
    private String sex;
    @Column(name = "age")
    private long age;
    @Column(name = "password")
    private String password;

    }

    5、执行UserRespository 中的find方法  即可查到相关数据

    源码解析:http://www.cnblogs.com/bodhitree/p/9468585.html

  • 相关阅读:
    人人都有数字替身的时代马上到来
    教你如何在linux下查看服务是否已经启动或者关闭
    提前了解2019年物联网发展的六大趋势
    本科理工男如何学习Linux
    linux常见命令ps的应用
    useradd 命令的常见用法
    简单聊聊Linux学习经历
    什么是公网IP、内网IP和NAT转换?
    远程获得的有趣的linux命令
    js练习题之查找数组中的位子
  • 原文地址:https://www.cnblogs.com/nxzblogs/p/10508016.html
Copyright © 2011-2022 走看看