作者:续2502915941 | 来源:互联网 | 2023-09-07 16:07
LombokData用法简化了繁琐的代码,省去了getter和settertostring的编写引入依赖后不起效原因是没有安装idea的lombok插件spr
Lombok @Data用法
简化了繁琐的代码,省去了getter和setter tostring的编写
引入依赖后不起效
原因是没有安装idea的lombok插件
spring boot 的优点
简单部署,自带tomcat,省去了大量的xml配置
mybatis plus 的强大
通过代码自动生成工具,简化了基本的增删改查,并且在开发接口时无需在mapper service impl中重复写入方法和sql语句。
RestfulTool插件的方便
在idea中进行接口调试,比在postman中方便
mybatis-puls 必须手动设置id自增注解
![在这里插入图片描述](https://img5.php1.cn/3cdc5/92e2/339/6b38f68cfa08048d.png)
哪怕数据库已经设置了id自增,但mybatis-plus不会处理,必须加上@TableId注解才能不报错。
多表联查,实体类中包含其他实体类
这样的一个坏处就是在加入的实体类变成了其属性,之后对原来实体类的操作都会加上新加入的实体类,如:
![加入book和publisher后,变为buybook的属性](https://img5.php1.cn/3cdc5/92e2/339/8e3d703a2f5cc93d.png)
![请求时也需要加入新的实体类,这显然不正确](https://img5.php1.cn/3cdc5/92e2/339/4e51e7991ad6cd68.png)
解决方法:新建一个结果类,重写返回结果
![在这里插入图片描述](https://img5.php1.cn/3cdc5/92e2/339/1687e4f8d4bdc519.png)
![在这里插入图片描述](https://img5.php1.cn/3cdc5/92e2/339/13d517a10b54fe20.png)
对应mapper.xml中resultMap映射该结果类的字段。并在其他各层返回结果改为
![在这里插入图片描述](https://img5.php1.cn/3cdc5/92e2/339/351c51f203ce5491.png)
这样即可,将多表查询结果联合起来,并不改变原实体类的属性和结构,其动态操作(改、增、删)直接就用Mybatis-plus的啦。
跨域问题
在config文件夹下,编写设置请求header类,即可
@Configuration
public class VueConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("*").allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS").allowCredentials(true).maxAge(3600).allowedHeaders("*");}
}