SpringBoot集成JPA

本文介绍了如何使用SpringBoot集成JPA进行数据库操作,包括引入依赖、配置数据库、创建实体类、定义DAO接口以及执行增删改查的基本方法。作者还提到了JPA与Hibernate的关系,并提供了完整的代码示例。
摘要由CSDN通过智能技术生成

啦啦啦啦啦,富贵同学又开始开坑了,出了个免费的专栏,主要给用springBoot集成第三方的插件或者功能,如果这篇专栏能帮到你,一定不要忘了点一个赞哦!!欢迎大家收藏分享

发现有些小伙伴不知道JPA和Hibernate有什么区别,在写博客的时候看到有人说集成hibernate,结果进去一看,就是到了一个jpa的包,所以给大家科普一下这两者的区别:

JPA和Hibernate之间的主要区别在于JPA是一个规范。Hibernate是Red Hat对JPA规范的实现。所以hibernate的底层也是jpa,而且springjpa项目也是spring全家桶中的一员,所以他的jar包是长这个样子的:

我们看spring的官方

所以今天就带大家用springboot集成jpa实现最简单的增删改查

第一步,导入jar包

		 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
          <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

复制代码

第二步,配置数据库文件

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1/springbootjpa?useUnicode=true&characterEncoding=utf8&useSSL=false # 数据库连接地址
    username: root # 用户名
    password: 123456 # 密码
    driverClassName: com.mysql.jdbc.Driver # 数据库驱动
  jpa:
    show-sql: true #打印sql
复制代码

第三步,编写实体类

package com.wangfugui.springbootjpa.dao.domain;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

/**
 * @author MaSiyi
 * @version 1.0.0 2021/12/11
 * @since JDK 1.8.0
 */
@Data
@Entity
@Table(name = "user")
@JsonIgnoreProperties(value = { "hibernateLazyInitializer"})
public class User {

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy= GenerationType.IDENTITY)//id自增
    private Integer id;

    @Column(name = "username")
    private String username;

    @Column(name = "age")
    private Integer age;

    @Column(name = "create_time")
    private Date createTime;


}

复制代码

第四步,最关键的一步,编写dao类


import com.wangfugui.springbootjpa.dao.domain.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

/**
 * @author MaSiyi
 * @version 1.0.0 2021/12/11
 * @since JDK 1.8.0
 */
@Repository
public interface UserDao extends JpaRepository<User, Integer>, JpaSpecificationExecutor<User>, CrudRepository<User,Integer> {
}

复制代码

我们继承JpaRepository<User, Integer>, JpaSpecificationExecutor<User>, CrudRepository<User,Integer> 就可以实现最基础的增删改查了 我觉得把所有的类写出来没有必要了,看到有些人写博客喜欢把所有的类都贴上去,觉得很杂,所以大家可以访问我的仓库地址,所有的源码都在里面

gitee.com/WangFuGui-M…

第五步,增删改查

    @PostMapping("/insert")
    public String insert(@RequestBody User user) {
        return userService.insert(user);

    }

    @PostMapping("/update")
    public String update(@RequestBody User user) {
        return userService.update(user);
    }

    @GetMapping("/getOne")
    public User getOne(@RequestParam Integer id) {
        return userService.getOne(id);
    }

    @GetMapping("/delete")
    public String delete(@RequestParam Integer id) {
        return userService.delete(id);
    }
复制代码

 

 

好了,这就是最基本的jpa的功能,如果大家想继续了解分页查询等高端操作,请给富贵同学点赞,后期会考虑出个jpa使用高级篇,最近都在日更,所以

作者:掉头发的王富贵
链接:https://juejin.cn/post/7228559708075573285

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值