应用场景
我相信对接一个其他人写好的接口是开发们经常会碰到的请求,最常见的场景就是监管类需求、数据上报等等。 繁杂的数据结构有时会让你相当恼火,一个对象常常有十几甚至几十个字段,当你建完VO,dto,entity...等等实体类之后,你会发现又要悲催的加班了。。。
使用到的工具
mybatisplus的idea插件 任何一款AI应用 mybatisplus插件是用来快速生成数据库实体类(entity)的。 而AI则能快速帮你生成对应接口的VO类。
生成vo
随便打开一款免费的AI应用,(我使用的是chatgpt)将报文样例仍给他这样描述(没有报文样例的也有办法,大部分大模型是支持上传文档类型的,直接上传文档即可)
不管你的报文是什么格式的,都可以这样在几秒钟之内生成一个实体类。
生成entity
应用mybatisx插件可以快速生成你想要的实体类,操作步骤如下:
首先在idea的插件商店中安装mybatisx
在idea右侧找到database,连接数据库后找到你要引入的表:
右键表使用mybatisx生成器
输入需要忽略的列前缀和表前缀(大部分公司要求规范数据库表名和列名用于区分业务和列类型,方法就是加统一前缀)
下一步就是生成了 项目使用mybatisplus的可以按我的方式打勾
这样就能快速生成实体类和mapper了(注意生成的mapper要加@Mapper注解,我的不会自动加 不知道为啥。。。)
数据组装
下面就是枯燥的数据组装环节了,不嫌麻烦的可以写中间层(dto类)用作数据转换,表少不追求性能的可以省去dto,直接单表查询把vo一个个set值,追求性能的就自己写复杂查询sql,一次io把需要的数据搞出来。数据拷贝可以用到mapstruct减少业务类中set 具体用法可以参考这篇:juejin.cn/post/695619…
项目中需要引入哪些工具包
hutool:用于发送网络请求 有包装好的工具类 非常方便
lombok:使你的实体类变得干净整洁
Mybatisplus: 程序员省力神器 甚至不用写sql
写在最后
有了这些利器,接口对接时间直接省去半天。赶紧写完去学习新技术(摸鱼)吧~