【从零入门系列-2】Spring Boot 之 数据库实体设计实现
文章系列
前言
本篇文章开始代码实践,系统设计从底向上展开,因此本篇先介绍如何实现数据库表实体类的设计实现。
SpringBoot数据库的持久层框架主要分为两种架构模式,即以JDBC Template
为代表的SQL类和以Spring Data JPA
为代表的ORM对象类。其中:
Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!spring data jpa让我们解脱了DAO层的操作,基本上所有CRUD都可以依赖于它来实现,自己写个仓储接口后继承JpaRepository即可实现最基本的增删改查功能!
在使用@Entity
进行实体类的持久化操作,当JPA
检测到我们的实体类当中有@Entity 注解的时候,会在数据库中生成关联映射对应的表结构信息,因此针对本项目情况最底层的设计实现一个@Entity
注解的书籍对象定义即可。
项目开始前,先按上一篇文章【从零入门系列-1】Spring Boot 之 程序结构设计说明后台程序结构建立相对应的目录:
控制层:前端路由和后端处理关系处理,目录:Controller
数据服务层:自定义对数据库的访问操作方法,目录:Service
数据访问层:实现通用的数据库访问功能,SpringData的JPA方案,目录:Dao
数据实体层:定义数据库表的属性方法,目录:Domain
根据结构,我们需要在Domain目录下编写项目表实体类,右键Domain
文件夹,New->Java Class
。
编写实体类
-
新建
Book
类package com.arbboter.demolibrary.Domain; import javax.persistence.Entity; import javax.persistence.Table; /** * @Entity 注解该类为数据库表实体类,JPA可自动扫描识别到 * @Table 注解数据表信息,其中name指定表名 */ @Entity @Table(name = "library_book") public class