资讯专栏INFORMATION COLUMN

SpringBoot实战SpringDataJPA

winterdawn / 3048人阅读

摘要:前言通过实现对数据库的增删改查通过提供基于的减少了作为数据访问方案的代码量,仅仅需要编写一个接口集成下内部定义的接口即可完成简单的操作。下引入依赖下引入和的配置文件对数据库连接和进行配置编写实体编写一个类,属性,,。

前言:通过SpringDataJPA实现对数据库的增删改查
SpringDataJPA:通过提供基于JPA的Repository减少了JPA作为数据访问方案的代码量,仅仅需要编写一个接口集成下SpringDataJPA内部定义的接口即可完成简单的CRUD操作。

pom.xml下引入依赖

pom.xml下引入SpringDataJPA和mysql的dependency

         
            org.springframework.boot
            spring-boot-starter-data-jpa
        
        
            mysql
            mysql-connector-java
        

配置application.yml文件

对数据库连接和jpa进行配置

datasource:
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: root
    driverClassName: com.mysql.jdbc.Driver
jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

编写实体

编写一个Book类,属性:id,bookName,author。
运行后数据库会生成一个Book表

@Entity
public class Book {

    @Id
    @GeneratedValue
    private Integer id;

    private String bookName;

    private String author;

    public Book() {
    }

    public Integer getId() {
        return id;
    }

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

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }
}

编写BookRepository接口

编写一个BookRepository接口继承JpaRepository

BookRepository extends JpaRepository
public interface BookRepository extends JpaRepository{


}

编写BookController定义路由实现对Book表的增删改查

IOC控制反转

 @Autowired
    private BookRepository bookRepository;

查询Book的列表

@GetMapping(value = "/books")
    public List bookList(){
        return bookRepository.findAll();
    }

添加一本书

@PostMapping(value = "books")
    public Book bookAdd(@RequestParam("author") String author,
                          @RequestParam("bookName") String bookName){
        Book book = new Book();
        book.setAuthor(author);
        book.setBookName(bookName);

        return bookRepository.save(book);

    }

删除一本书

@DeleteMapping(value = "/books/{id}")
    public void bookDelete(@PathVariable("id") Integer id){
        bookRepository.delete(id);

更新一本书

 @PutMapping(value = "/books/{id}")
    public Book bookUpdate(@PathVariable("id") Integer id,
                           @RequestParam("author") String author,
                           @RequestParam("bookName") String bookName){
        Book book = new Book();
        book.setId(id);
        book.setAuthor(author);
        book.setBookName(bookName);

        return bookRepository.save(book);
    }

总结:这是利用SpringDataJPA实现的对数据库增删改查功能,下一篇实现分页功能

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68061.html

相关文章

  • 一起来学SpringBoot | 第六篇:整合SpringDataJpa

    摘要:忽略该字段的映射省略创建数据访问层接口,需要继承,第一个泛型参数是实体对象的名称,第二个是主键类型。 SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 上一篇介绍了Spring JdbcTempl...

    Dionysus_go 评论0 收藏0
  • SpringDataJPA入门就这么简单

    摘要:一入门在上次学的时候,那时候的教程就已经涉及到了一点的知识了。入门只是中的一个子模块是一套标准接口,而是的实现底层默认实现是使用的首个接口就是,它是一个标记接口。这也导致了我出现这个错误的原因。 一、SpringData入门 在上次学SpringBoot的时候,那时候的教程就已经涉及到了一点SpringData JPA的知识了。当时还是第一次见,觉得也没什么大不了,就是封装了Hiber...

    MasonEast 评论0 收藏0
  • 第三十章:SpringBoot使用MapStruct自动映射DTO

    摘要:商品类型实体恒宇少年码云商品基本信息实体恒宇少年码云接下来我们继续创建相关的。注解是用于标注接口抽象类是被自动映射的标识,只有存在该注解才会将内部的接口方法自动实现。 MapStruct是一种类型安全的bean映射类生成java注释处理器。我们要做的就是定义一个映射器接口,声明任何必需的映射方法。在编译的过程中,MapStruct会生成此接口的实现。该实现使用纯java方法调用的源和目...

    weakish 评论0 收藏0
  • 第三十三章:修改SpringBoot启动Banner

    摘要:本章目标修改启动内容构建项目本章不涉及业务逻辑相关内容,简单创建一个框架即可。的隐藏隐藏的方式提供了两种,不过其中方式已经被抛弃掉了,我们下面介绍下修改配置的方式。 Banner是SpringBoot框架一个特色的部分,其设计的目的无非就是一个框架的标识,其中包含了版本号、框架名称等内容,既然SpringBoot为我们提供了这个模块,它肯定也是可以更换的这也是Spring开源框架的设计...

    firim 评论0 收藏0
  • 第三十二章:如何获取SpringBoot项目的applicationContext对象

    摘要:对象是开源框架的上下文对象实例,在项目运行时自动装载内的所有信息到内存。总结本章内容较少,主要讲解了平台下采用的方式完成实例的获取,并通过实例完成对管理的实例手动获取。 ApplicationContext对象是Spring开源框架的上下文对象实例,在项目运行时自动装载Handler内的所有信息到内存。传统的获取方式有很多种,不过随着Spring版本的不断迭代,官方也慢慢的不建议使用部...

    zhangke3016 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<