1. 程式人生 > >十五、SpringBoot之資料訪問整合SpringData JPA

十五、SpringBoot之資料訪問整合SpringData JPA

1.SpringData簡介

2.整合SpringData JPA

JPA:ORM(Object Relational Mapping 物件關係對映);

  • 1.編寫一個實體類(bean)和資料表進行對映,並且配置好對映關係;
//使用JPA註解配置對映關係
@Entity //告訴JPA這是一個實體類(和資料表對映的類)
@Table(name = "tbl_user") //@Table來指定和哪個資料表對應;如果省略預設表名就是user;
public class User {

    @Id //這是一個主鍵
    @GeneratedValue(strategy = GenerationType.IDENTITY)//自增主鍵
    private Integer id;

    @Column(name = "last_name",length = 50) //這是和資料表對應的一個列
    private String lastName;
    @Column //省略預設列名就是屬性名
    private String email;
  • 2.編寫一個Dao介面來操作實體類對應的資料表(Repository)
//繼承JpaRepository來完成對資料庫的操作
public interface UserRepository extends JpaRepository<User,Integer> {
}
  • 3.基本的配置JpaProperties
spring:
  datasource:
    #資料來源基本配置
    username: root
    password: 123456
    url: jdbc:mysql://172.16.40.146:3306/jpa
    driver-class-name: com.mysql.jdbc.Driver
  jpa:
    hibernate:
      # 更新或者建立資料表結構
      ddl-auto: update
    # 控制檯顯示SQL
    show-sql: true
  • 4.Controller
@RestController
public class UserController {
    @Autowired
    UserRepository userRepository;

    @GetMapping("/user/{id}")
    public User getUser(@PathVariable("id") Integer id){
        Optional<User> user = userRepository.findById(id);
        return user.get();
    }

    @GetMapping("/user")
    public User insertUser(User user){
        User save = userRepository.save(user);
        return save;
    }
}