8月7号 连接ftp | Mapstruct 实体间的转换 | PD模型逆向生成 | 接口请求日志记录
1、连接ftp
输入主机号一直连接不上, 前面加上ftps:// 主机 OK
2、Mapstruct
https://blog.csdn.net/lx_yoyo/article/details/75061614
pom
<!-- mapstruct --> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-jdk8</artifactId> <version>1.2.0.CR1</version> </dependency> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>1.2.0.CR1</version> <scope>provided</scope> </dependency>
entity
public class Car { private String name; private int id; private String brand;
dto
public class CarDTO { private String name; private String brand;
mapper
import org.mapstruct.Mapper; @Mapper(componentModel = "spring") public interface CarMapStruct { Car dtoToEntity(CarDTO dto); }
controller
@RequestMapping(value = "/car/add") @ResponseBody public Car details(@RequestBody CarDTO dto){ Car car = carMapper.dtoToEntity(dto); car.setId(1); return car; }
需求:
新增car 方法,用DTO接收参数,转换成Car 对象
注意:这里持久层用的mybatis
CarMapStruct 没有取名CarMapper 否则会提示缺xml 文件
且一定要加上 @Mapper(componentModel = "spring")
没有让mybatis 扫描成mapper 包名也是test
测试
结果:
# 两个对象转成DTO #
@RequestMapping(value = "/detail/{id}") @ResponseBody public GoodInfoDTO details(@PathVariable("id")int id){ GoodInfo goodInfo = GoodInfo.getGoodInfo(id); GoodType goodType = GoodType.getGoodInfo(id); return goodInfoMapper.fromGoodInfoDTO(goodInfo,goodType); }
@Mapper(componentModel = "spring") public interface GoodInfoMapStruct { @Mappings({ @Mapping(source = "type.name",target = "typeName"), @Mapping(source = "good.id",target = "goodId"), @Mapping(source = "good.title",target = "goodName"), @Mapping(source = "good.price",target = "goodPrice") }) GoodInfoDTO fromGoodInfoDTO(GoodInfo good, GoodType type); }
### eclipse 要下载插件才可以正常使用
在market里下载m2e-apt就可以了。
POM 里加上
<properties> <m2e.apt.activation>jdt_apt</m2e.apt.activation> </properties>
就可以看到这个
参考:https://blog.csdn.net/u014519194/article/details/54410391
3、PD模型 逆向生成代码错误
PD 里面类型弄错了 应该是varchar
这样生成表
逆向工程生成代码会错
#### 一开始我用逆向工程的时候,
<table schema="" tableName="bbs_banner" ></table>
没有写完整
<table schema="" tableName="bbs_banner" domainObjectName="BbsBanner"></table>
开始我以为是没有写domain的缘故,后来我就全部写了,写了三十几个,生成发现都有问题
当你发现有问题的时候,写两三个看看,是不是这里的问题。
写完了生成发先不是这个原因,浪费了时间
4、接口请求日志记录
@Login @ApiOperation(value="角色列表查询") @PostMapping(value="/getlist") public ResponseEntity<HttpResponse> getList(@RequestBody PageRequest request) throws URISyntaxException { log.info("#角色列表查询#" + JsonUtils.obj2str(request));
参数是统一写成request ,用一个工具类将参数转成json 然后写到日志里