前言
ModelMapper是一个从对象到对象(object-to-object)的框架,能将Java Bean(Pojo)对象从一种表现形式转化为另一种表现形式。它采用“通过约定来配置”的方式,自动匹配不同的对象映射,同时具备满足某些特殊需求的高级功能。
参考地址:https://github.com/bigbeef/cppba-modelmapper
开源地址:https://github.com/bigbeef
个人博客:http://blog.cppba.com
在实际开发中,我们遇到过这样的问题:
我们数据库有这样两张表User和City,映射的实体如下:
我们的restful API有这样一个接口(/user/getInfo),大家想一想我们的接口返回是什么?
|
|
假如我们返回这样一个实体,我们应该怎么去生成这个实体呢?
一般人是这么做的:
|
|
这种办法虽然能实现,但是如果UserVO有100个属性怎么办,一个一个set不是会设置到天荒地老?
接下来给大家介绍一个第三方jar包modelmapper,看看他的神器。
引入maven
|
|
改造UserVo
|
|
编写测试
|
|
运行结果
注意
如果user转userVO时,两个类属性名都相同,就没必要写自定义映射规则。
如果VO属性很多,也不用像传统一样傻傻的一个一个赋值,因为属性名相同占多数,属性名不相同才需要自定义映射规则。