spring boot jpa大法

1.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>

2.application.yum配置

配置数据库

spring:
 datasource:
   driver-class-name: com.mysql.jdbc.Driver
   url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&useSSL=false
   username: root
   password: 1011
 jpa:
   show-sql: true

3.创建与数据库对应类

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


@Entity
@Table(name = "user")
public class User {

	//设置主键,还有主键自增方式
	
   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   @Column(name = "id")
   private Integer id;
	

   public Integer getId() {
       return id;
   }

   public void setId(Integer id) {
       this.id = id;
   }


   public UserInfo(){

   }
}

4.比较重要的是创建一个Repository类继承jpa提供的很多接口

  1. Repository:最顶层的接口,是一个空的接口,目的是为了统一所有Repository的类型,且能让组件扫描的时候自动识别。

  2. CrudRepository :是Repository的子接口,提供CRUD的功能

  3. PagingAndSortingRepository:是CrudRepository的子接口,添加分页和排序的功能

  4. JpaRepository:是PagingAndSortingRepository的子接口,增加了一些实用的功能,比如:批量操作等。

  5. JpaSpecificationExecutor:用来做负责查询的接口

  6. Specification:是Spring Data JPA提供的一个查询规范,要做复杂的查询,只需围绕这个规范来设置查询条件即可


要加上@Repository这个注解,方便sping找到

@Query可以执行sql自定义语句

@Query("SELECT p FROM Person p WHERE p.lastName = :lastName AND p.email = :email")
List<Person> testQueryAnnotationParams2(@Param("email") String email, @Param("lastName") String lastName);

参照    https://www.cnblogs.com/zhaobingqing/p/6864223.html


5.在Controller直接@Autowired注入这个Repository,直接使用它的方法即可。


本博客参照进行总结
https://mp.weixin.qq.com/s?__biz=MzU2MTI4MjI0MQ==&mid=2247483924&idx=1&sn=02baae22ef35604350f2d36f1d310160&chksm=fc7a6fbacb0de6acedf991de5d19cfee45fb419b2a0acab88a86d34c2e76e0264447ef430e23&mpshare=1&scene=24&srcid=0713Xbvtg5tj7cukhaGF9q7O#rd



@Repository

猜你喜欢

转载自blog.csdn.net/weixin_38336658/article/details/81033537