摘要:前言通过实现对数据库的增删改查通过提供基于的减少了作为数据访问方案的代码量,仅仅需要编写一个接口集成下内部定义的接口即可完成简单的操作。下引入依赖下引入和的配置文件对数据库连接和进行配置编写实体编写一个类,属性,,。
前言:通过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 ListbookList(){ 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 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 上一篇介绍了Spring JdbcTempl...
摘要:一入门在上次学的时候,那时候的教程就已经涉及到了一点的知识了。入门只是中的一个子模块是一套标准接口,而是的实现底层默认实现是使用的首个接口就是,它是一个标记接口。这也导致了我出现这个错误的原因。 一、SpringData入门 在上次学SpringBoot的时候,那时候的教程就已经涉及到了一点SpringData JPA的知识了。当时还是第一次见,觉得也没什么大不了,就是封装了Hiber...
摘要:商品类型实体恒宇少年码云商品基本信息实体恒宇少年码云接下来我们继续创建相关的。注解是用于标注接口抽象类是被自动映射的标识,只有存在该注解才会将内部的接口方法自动实现。 MapStruct是一种类型安全的bean映射类生成java注释处理器。我们要做的就是定义一个映射器接口,声明任何必需的映射方法。在编译的过程中,MapStruct会生成此接口的实现。该实现使用纯java方法调用的源和目...
摘要:本章目标修改启动内容构建项目本章不涉及业务逻辑相关内容,简单创建一个框架即可。的隐藏隐藏的方式提供了两种,不过其中方式已经被抛弃掉了,我们下面介绍下修改配置的方式。 Banner是SpringBoot框架一个特色的部分,其设计的目的无非就是一个框架的标识,其中包含了版本号、框架名称等内容,既然SpringBoot为我们提供了这个模块,它肯定也是可以更换的这也是Spring开源框架的设计...
摘要:对象是开源框架的上下文对象实例,在项目运行时自动装载内的所有信息到内存。总结本章内容较少,主要讲解了平台下采用的方式完成实例的获取,并通过实例完成对管理的实例手动获取。 ApplicationContext对象是Spring开源框架的上下文对象实例,在项目运行时自动装载Handler内的所有信息到内存。传统的获取方式有很多种,不过随着Spring版本的不断迭代,官方也慢慢的不建议使用部...
阅读 3879·2021-10-12 10:12
阅读 2847·2021-09-10 11:18
阅读 3633·2019-08-30 15:54
阅读 2729·2019-08-30 15:53
阅读 604·2019-08-30 13:54
阅读 938·2019-08-30 13:21
阅读 2225·2019-08-30 12:57
阅读 1657·2019-08-30 11:10