springboot 博客(6)JPA持久

该篇为:慕课网基于Spring Boot技术栈博客系统企业级前后端实战第6章的学习笔记

1. JPA是什么

JPA(Java Persistence API)是Sun官方提出的Java持久化规范,用来方便大家操作数据库。真正干活的可能是Hibernate,TopLink等等实现了JPA规范的不同厂商,默认是Hibernate。


2.JPA的核心概念

实体

关系

EnityManager


3.Spring Data JPA

常用接口:   

  • 增删改查接口CrudRepository
  • 分页排序接口PagingAndSortingRepository(继承了增删改查接口)
  • 自定义接口

4.Spring Data JPA、与Spring Boot集成 将数据持久化到H2数据库中

(1)首先在项目中添加build.gradle的依赖

 (2) 添加H2数据库的依赖

# JPA
spring.jpa.show-sql=true
# 在应用启动时先创建数据,然后删除
spring.jpa.hibernate.ddl-auto=create-drop

(3)编写后台

注意User实体类的编写,需要添加JPA的注释

public class User {

    @Id //主键
    @GeneratedValue(strategy=GenerationType.IDENTITY) //生成策略:根据数据库自增
    private Long id;
    private String name;
    private String email;


    protected User(){  //无参构造器;设为protected 防止直接使用
    }
    public User(Long id, String name, String email) {
        this.id = id;
        this.name = name;
        this.email = email;
    }
    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 String getEmail() {
        return email;
    }

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

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", email='" + email + '\'' +
                '}';
    }
}

 UserReposity直接继承接口即可

public interface UserReposity extends CrudRepository<User,Long> {}

前端页面参考:https://blog.csdn.net/qq_41986312/article/details/88422285

(4)打开h2-console

默认使用的是testdb这个数据库

以前没有使用JPA时候,往往要先从表结构出发,先去设计表结构,现在可以从业务出发,表的建立等都有JPA完成 

5 将数据持久化到MySQL中

1.  在上一个代码的基础上修改

# THYMELEAF
spring.thymeleaf.encoding=UTF-8
# 热部署静态文件
spring.thymeleaf.cache=false
# 使用HTML5标准
spring.thymeleaf.mode=HTML5
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html


# DataSource
spring.datasource.url=jdbc:mysql://localhost/blog?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=admin
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# JPA
spring.jpa.show-sql=true
# 在应用启动时先创建数据,然后删除
spring.jpa.hibernate.ddl-auto=create-drop

2.创建blog数据库

3.启动项目

可以看到前面配置文件中生效了(每次启动删除之前的数据)

在数据库中自动创建了blog

在测试开发中采用H2数据库,内置速度较快,后期再使用MySQL.

 代码下载地址:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值