Go最新MyBatis-Generator和Swagger-Codegen_mybatisgenerator swagger,帮助程序员提高核心竞争力的30条建议

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

适当使用上述对象的 Java 或 Kotlin 客户端类、接口和 Kotlin 扩展方法。客户端类的生成是可选的。MBG 将生成一个与 MyBatis 3.x 映射器基础设施配合使用的映射器接口。

依赖

            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-generator</artifactId>
                <version>3.2.0</version>
            </dependency>

IDEA生成代码过程

写一个代码生成类,建立数据库连接,com.baomidou.mybatisplus.generator.AutoGenerator对象获取全局配置、数据库配置等信息,执行execute方法自动生成代码,如下,

  • model文件夹中包含数据库表对应的实体类(数据库字段与实体类成员一一对应),或者称之为域模型。
  • mapper文件夹中包含mapper接口和mapper.xml映射文件,mybatis通过JDK动态代理生成实现类完成SqlSession对象SQL语句执行。
  • service文件夹中有实体类对应的服务类接口和服务实现类,具体提供的服务类接口由我们自己实现。
  • web文件夹中的类提供可以访问的http接口。

上面的四个文件夹是在给AutoGenerator对象注入PackageConfig信息时写的输出文件夹包路径,model中的java文件放在Model层(数据访问层),mapper中的java文件放在DAO层(数据持久层),servcie中的java文件放在service层(业务逻辑层),web中的java文件放在controller层(控制层)。

MyBatis的mapper参数传递#{}和${}区别:

  • #{} 实现的是sql语句的预处理参数,之后执行sql中用?号代替,使用时不需要关注数据类型,Mybatis自动实现数据类型的转换。并且可以防止SQL注入。
  • ${} 实现是sql语句的直接拼接,不做数据类型转换,需要自行判断数据类型。不能防止SQL注入。

另外,对实体类/域模型我们还可以做一些操作:

  • 添加@Data在实体类上,编译时自动生成各个成员变量的get、set方法。
  • 添加@NoArgsConstructor、@AllArgsConstructor在实体类上,编译时自动生成无参和全部参数的构造方法。
  • 添加@Builder在实体类上,通过建造者设计模式简化对象实例化时添加属性值。
  • 添加@Pattern(regexp=“”)在成员变量上,通过正则表达式限制成员变量属性值。

前几个注解是lombok包下的注解,最后一个validation包下的注解。

如下图,springboot编译生成的文件都在target目录下,lombok的注解直接帮忙生成了上面那些方法。

Swagger-CodeGen

介绍

swagger-codegen 包含一个模板驱动的引擎,通过解析 OpenAPI / Swagger 定义来生成不同语言的文档、API 客户端和服务器存根。

代码生成过程

swagger-codegen可以很简单的生成服务端的代码。举个例子,

1、首先我们在下面的网页下载swagger-codegen客户端:

https://oss.sonatype.org/content/repositories/releases/io/swagger/swagger-codegen-cli/2.2.1/swagger-codegen-cli-2.2.1.jar

2、任何服务器对外开放使用swagger-ui的页面:https://petstore.swagger.io/,它开放的接口的json文件是https://petstore.swagger.io/v2/swagger.json,记录下服务器端的json文件url。

3、在下好的jar包目录下输入命令 java -jar swagger-codegen-cli-2.2.1.jar generate -i https://petstore.swagger.io/v2/swagger.json -l java -o samples/client/pestore/java

则会把该json文件进行解析编译再写到-o后指定的文件路径。

4、最后输出的文件如下,里面包含API、Model等,这里是由于没有把一些依赖引入,

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

如果你需要这些资料,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值