Mabits-Plus的开发流程-- 后续操作(1)

本文介绍了MyBatis-Plus的开发流程,包括文件反向映射、RESTfulAPI的实现、使用Postman进行测试,以及主键生成策略和控制器设计。还讨论了如何处理常见问题,如UnsatisfiedDependencyException。
摘要由CSDN通过智能技术生成

        我们将会给出MP具体开发流程的后续操作(1),例如文件的反向映射、以及使用postman等。如若需要查看添加依赖,请点这条链接:Mybatis-Plus的开发流程 -- 准备阶段


目录

一、文件的反向映射

使用MyBatisX插件针对表进行反向映射,生成对应的mapper接口、业务接口和对应的映射元文件。

1.1首先创建数据源

首先点击IDEA界面最右边有一个Database,点开之后会出现如下界面:

在这里,你需要填写自己的数据库名称,及密码。。。

1.2在DataSource窗口中右键点击数据表的名称执行MyBatisX

 注意:ClassName进行修改的时候与后面的操作有很大关系!好了,现在点击next

 至此,反向映射文件完成。

1.3检查反向映射生成的內容,如果有不合理的地方需要进行修改。

 MP针对注解提供的主键生成策略

        AUTO:id自增

        NONE: 不设置id生成策略

        INPUT:用户手工输入id

        ASSIGN_ID:雪花算法生成id

        ASSIGN_UUID:以UUID生成算法作为id生成策略

        雪花算法生成的是一个64bit大小的整数,一般用于分布式应用中,如果针对数据库进行了横切,如何保 证id值的唯一性

        41bit的时间戳:用来记录时间戳,毫秒级

        10bit的工作机器id:用来记录工作机器id

        12bit的序列号:占用12bit,每个节点每毫秒0开始不断累加,最多可以累加到4095,一 共可以产 生4096个ID

        ASSIGN_UUID ASSIGN_UUID是自动生成一个不重复的、长度为32字符长的字符串,也能在分布式系统中使用。

二、RESTful的实现

如果采用的是按需编程的方式进行开发,则下一步建议编写控制器,由控制类的定义过程中总结出业 务类所需要的方法

RESTful是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定 义。RESTFUL适用于移动互联网厂商作为业务接口的场景,实现第三方OTT调用移动网络资源的功能, 动作类型为新增、变更、删除所调用资源。

  • 如果查询则使用GET、如果新创建则POST、如果删除的DELETE、如果修改则PUT
  • get和post之间的区别
  • http协议的请求流程以及不同版本的区别
  • http协议和https协议的区别

RESTful的实现等级

  • 0级:传统的RPC,基于SOAP的WS,调用的服务名,参数放在HTTP协议的body里面,同时必须以 POST方式提交,问题在于你必须清楚的知道所有服务,子服务,及其参数的信息,并且需要知道 各种服务的不同点
  • 1级:利用resource概念,把所有服务都抽取成resource概念,从body中提取到header里,这样 做的好处就是如果你知道一个服务地址,你可能无需知道具体服务是什么,依照资源的惯例就访问 到服务,比如查询id=1的书籍信息时使用路径/books/1
  • 2级:利用HTTP动词,HTTP定义了4种动词,GET获取服务器资源,POST在服务器上创建新资 源,PUT更改服务器上资源,DELETE删除服务器上资源,任何操作都可以看成增删改查,所以利 用标准的http verb加上resource(/book/1)就能准确地操作资源,当你不知道服务具体是什么的 时候也可以轻易按照惯例访问到服务,然而服务供应商更改服务也需要遵循惯例,不会像RPC那样 轻易更改服务接口
  • 3级:最高级别,HATEOS超媒体既应用状态引擎。这个意思是说,对于任何服务都存在很多子服 务,你只需要知道第一个服务的入口,便可以依据服务返回结构的自描述性得到下一个服务的入 口,这样在服务供应商修改服务的时候,不会影响到客户端的调用

2.1在RESTful应用中需要和前端充分沟通,建议通信的数据规范

@Data
public class JsonResult implements Serializable {
private int code;//自定义的响应状态码,不是http规范中的响应码,一般用于给前端更详细的信
息
private Boolean success; //可有可无,给前端一个简单的响应状态提示
private String message; //服务器端生成的响应提示信息
private Object data;//响应数据
}

2.2控制器类的定义

@RestController // @Controller+@ResponseBody
@RequestMapping("/catalogs")
public class CatalogController {
@Autowired //@Resource
private CatalogService catalogService;
@GetMapping
public JsonResult getAllCatalogs(){
List<Catalog> catalogList= catalogService.list();
return JsonResult.success("所有类目列表",catalogList);
}
}

三、使用Postman进行测试

3.1插入测试数据

insert into tbl_catalog values(1,'计算机图书','计算机图书'),(2,'烹饪图书','做菜的书'),
(3,'音乐图书','教你音乐入门');

 3.2postman的用法

 四、常见问题

        4.1应用启动报错UnsatisfiedDependencyException,查看报错信息的详细提示

        可以看到报错为com.yan.mapper.CatalogMapper没有注册,所以需要添加MyBatisPlus配置类或者在 主类上添加配置

@MapperScan(basePackages = "com.yan.mapper") //注册自动扫描mapper接口,完成mapper接
口的注册
@SpringBootConfiguration //用于声明当前类时一个配置类
public class MybatisPlusConfig {
}

 最后的更新也完成啦,最后一篇文章对类目进行分页显示、业务缓存、注解开发请戳:Mabits-Plus的开发流程-- 后续操作(2)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值