springboot整合JPA

JPA可以自动生成数据表

1.先写实体类与数据表进行映射:

package com.atguigu.entity;

import javax.persistence.*;

//使用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;

    //setter,getter,构造,toString略...
}

2.在Springboot配置文件中配置JPA,下面用的yml文件

spring:
  datasource:
    url: jdbc:mysql://192.168.144.143:3306/jpa
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
  jpa:
    hibernate:
#      更新或者创建表结构
      ddl-auto: update
#      控制台显示sql
    show-sql: true

3.写dao接口要继承JpaRepository<K,V>接口,K表示要操作的实体类,V表示实体类对应的数据表主键的数据类型

package com.atguigu.repository;

import com.atguigu.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

//继承JpaRepository<K,V>完成对数据库的操作,K表示要操作的实体类,V表示主键类型
public interface UserRepository extends JpaRepository<User,Integer> {//JpaRepository接口中有基本的增删改查方法和分页排序方法

}

4.编写controller层进行测试

//虽然dao接口中没有写任何的方法,这里依然可以调用
@RestController public class UserController { @Autowired UserRepository userRepository; @GetMapping("/user/{id}") public User getUserById(@PathVariable("id") Integer id){ User user = userRepository.findById(id).get(); return user; } @GetMapping("/user") public User insertUser(User user){ User save = userRepository.save(user); return save; } }

5.启动项目之后会发现,JPA会给我们自动创建好了数据表

posted @ 2020-03-20 18:00  王兴龙123  阅读(201)  评论(0编辑  收藏  举报