新增业务

接下来我们将以Product下的Brand相关功能为例,模拟完成该功能的步骤:

1. 创建和数据库表一致的实体类

```
a. 在项目中找到tigship-bean -> model -> product ,右键创建Java类,命名为Brand
b. 找到数据库中Brand表,根据数据表属性一对一写入到Brand.java文件中
c. 在model中,我们需要把类名以及方法名加上几个注解
    i.@TableName(value ="brand") 代表对应数据库中的brand数据表
    ii.@Schema(description = "商品品牌表") 代表在Swagger中会显示这个实体类是商品品牌表,在属性上也是类似的意思
    iii.@Data 用于自动进行setter/getter等方法
    iv.@TableId(value = "brand_id", type = IdType.AUTO) 代表该字段是数据表的主键,且自增
```
这里也可以使用mybatis-plus的逆向工程工具mybatisX-Generator自动生成这些字段和注解

2. 创建一个Mapper

a. 在项目中找到tigship-service -> mapper -> product ,右键创建Java类,选择interface,命名为BrandMapper
b. 为了能够直接使用Mybatis-plus的方法,我们需要继承BaseMapper<Brand>
c. 在类名上方新增注解@Mapper ,这样可以让spring框架去扫描到这个mapper

3. 创建一个Service

a. 在项目中找到tigship-service -> service -> product,右键创建Java类,选择interface,命名为BrandService
b. 在BrandService中,定义你的方法

4. 实现你的Service

a. 在项目中找到tigship-service -> service -> product ->impl,右键创建Java类,命名为BrandServiceImpl(也可以在BrandService中点击类名,当亮起黄色小灯泡后,点击,idea会显示实现接口,点击后会自动创建一个实现类)
b. 为了实现BrandService中的方法同时,使用mybaitis-plus的方法,我们需要在类名后继承ServiceImpl<BrandMapper, Brand>,然后实现BrandService
c. 和Mapper一样,我们需要在类名上方加上@Service注解,以便于spring能扫描到
d. 然后我们就需要在BrandServiceImpl中创建一个和BrandService一样类型,参数,名称和返回值的方法

5. 创建一个Controller

a. 在项目中找到tigship-adminapi -> controller -> product,右键创建Java类,命名为BrandController
b. 首页需要映射这个控制器的路由,加上注解@RequestMapping("/product/brand")(这里需要注意的是,由于我们设置了全局路由前缀/adminapi,所以即使这里没有写这个路由前缀,访问的时候也是需要写成/adminapi/product/brand)
c. 加上@RestController注解,默认将控制器中的方法按照接口返回
d. 加上注解@Tag(name="品牌”),在swagger中会自动显示该控制器的具体名称,也可以在name后加上description属性进行解释
e. 创建一个名为list的方法,并加上路由和swagger注解,这里一般类型为AjaxResult,这是一个自定义的返回类
f. 在list方法中,我们需要调用BrandService中的list方法,所以我们要在类名下方,将BrandService映射到控制器
大纲
1. 创建和数据库表一致的实体类
2. 创建一个Mapper
3. 创建一个Service
4. 实现你的Service
5. 创建一个Controller