Spring Boot学习进阶笔记(三)-Spring-data-jpa

Spring-data-jpa:简化数据库访问的流程

知识储备:Spring-data-jpa基于hibernate,所以需要了解hibernate的相关知识。

一、首先建立自己的数据库(test)和表(user),表的属性如下图

二、建立实体类“User.java"

 

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

 

@Entity

public class User {

 

@Id

    @GeneratedValue

    private Long id;

 

    @Column(nullable = false)

    private String name;

 

    @Column(nullable = false)

    private Integer age;

    

    public User() {

super();

}

 

public User(String name, Integer age) {

super();

this.name = name;

this.age = age;

}

 

public Long getId() {

return id;

}

 

public void setId(Long id) {

this.id = id;

}

 

public String getName() {

return name;

}

 

public void setName(String name) {

this.name = name;

}

 

public Integer getAge() {

return age;

}

 

public void setAge(Integer age) {

this.age = age;

}

}

三、application.properties添加数据库链接属性

spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false

spring.datasource.username=root

spring.datasource.password=123456

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.jpa.properties.hibernate.hbm2ddl.auto=validate

 

四、创建数据库访问类

import org.springframework.data.jpa.repository.JpaRepository;

import org.springframework.data.jpa.repository.Query;

import org.springframework.data.repository.query.Param;

 

import com.zh.SpringBootDemo.domain.User;

 

 

public interface UserRepository extends JpaRepository<User, Long> {

 

    User findByName(String name);

 

    User findByNameAndAge(String name, Integer age);

 

    @Query("from User u where u.name=:name")

    User findUser(@Param("name") String name);

 

 

}

 

Spring-data-jpa根据方法名解析或者通过@Query配置获取访问方法。

具体使用功能很强大,使用的小伙伴再单独学习吧。

 

原文地址:https://www.cnblogs.com/lovechengyu/p/7099604.html