SpringBoot整合JPA案例

一、编写一个实体类(bean)和数据表进行映射,并且配置好映射关系

/**
 * @author hq.zheng
 * @create 2019-03-14-下午 4:28
 */
//使用JPA注解配置映射关系
@Entity//告诉JPA这是一个实体类(和数据表映射的类)
@Table(name="tbl_user")//指定和哪个数据表对应;如果不填默认表名是类名小写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;

    public Integer getId() {
        return id;
    }

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

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

二、编写一个Dao接口来操作实体类对应的数据表(Repository)

/**
 * @author hq.zheng
 * @create 2019-03-14-下午 4:43
 */
//继承JpaRepository来完成对数据库的CRUD操作
public interface UserRepository extends JpaRepository {
}

三、全局配置文件中配置基本的配置JpaProperties

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

四、编写controller测试接口是否整合成功

/**
 * @author hq.zheng
 * @create 2019-03-14-下午 4:57
 */
@RestController
public class UserController {
    @Autowired
    UserRepository userRepository;
    //根据id查找
    @GetMapping("/user/{id}")
    public User getUser(@PathVariable("id") Integer id){
        User user = userRepository.findOne(id);
        return user;
    }
    //新增
    @GetMapping("/user")
    public User insertUser(User user){
        User user1 = userRepository.save(user);
        return user1;
    }
}

SpringBoot整合JPA案例_第1张图片

SpringBoot整合JPA案例_第2张图片

你可能感兴趣的:(SpringBoot)