[
{
"addressee": "北京",
"addressee_name": "yanghaiji",
"addressee_phone": "1234565432",
"senderVOList": [
{
"sender_add": null,
"sender_name": "北京",
"informationVOS": [
{
"ems_status": "0",
"retreat_status": "0",
"create_by": "admin",
"create_date": "2019-11-02"
}
]
}
]
},
{
"addressee": "shanghai",
"addressee_name": "hiaji",
"addressee_phone": "1234565432",
"senderVOList": [
{
"sender_add": null,
"sender_name": "shanghai",
"informationVOS": [
{
"ems_status": "0",
"retreat_status": "0",
"create_by": "admin123",
"create_date": "2019-11-02"
}
]
}
]
},
{
"addressee": "北京",
"addressee_name": "ji",
"addressee_phone": "1234565432",
"senderVOList": [
{
"sender_add": null,
"sender_name": "北京",
"informationVOS": [
{
"ems_status": "0",
"retreat_status": "0",
"create_by": "admin",
"create_date": "2019-11-02"
}
]
}
]
}
]
<select id="findAll" resultMap="logisticsMap">
SELECT
addressee,
addressee_name,
addressee_phone,
sender_add sender_name,
ems_status,
retreat_status,
create_by,
create_date
FROM
sys_logistics
</select>
<resultMap type="LogisticsVO" id="logisticsMap">
<result property="addressee" column="addressee"/>
<result property="addressee_name" column="addressee_name"/>
<result property="addressee_phone" column="addressee_phone"/>
<collection property="senderVOList" resultMap = "senderVOListMap"/>
</resultMap>
<resultMap type="LogisticsSenderVO" id="senderVOListMap">
<result property="sender_add" column="sender_add"/>
<result property="sender_name" column="sender_name"/>
<collection property="informationVOS" resultMap = "informationVOSMap"/>
</resultMap>
<resultMap type="OtherInformationVO" id="informationVOSMap">
<result property="create_by" column="create_by"/>
<result property="create_date" column="create_date"/>
<result property="retreat_status" column="retreat_status"/>
<result property="ems_status" column="ems_status"/>
</resultMap>
@Test
void mapperMap() throws JsonProcessingException {
List<LogisticsVO> all = testMapper.findAll();
ObjectMapper objectMapper = new ObjectMapper();
String s = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(all);
System.out.println(s);
}
<select id="findListAndIf" resultType="LogisticsVO">
SELECT
addressee,
addressee_name,
addressee_phone
FROM
sys_logistics
<trim prefix="WHERE" prefixOverrides="AND | OR">
<foreach item="vos" index="vos" collection="vos" separator="," >
<if test="vos.addressee_name != null and vos.addressee_name != ''">
AND addressee_name= #{vos.addressee_name}
</if>
<if test="vos.addressee_phone != null and vos.addressee_phone != ''">
AND addressee_phone= #{vos.addressee_phone}
</if>
</foreach>
</trim>
</select>
SELECT
addressee, addressee_name, addressee_phone
FROM sys_logistics
WHERE addressee_name= ?
AND addressee_phone= ?
@Test
void mapperIf() throws JsonProcessingException {
LogisticsVO yanghaiji = LogisticsVO.builder().addressee_name("yanghaiji").addressee_phone("1234565432").build();
List<LogisticsVO> logisticsVOS = new ArrayList<>();
logisticsVOS.add(yanghaiji);
List<LogisticsVO> all = testMapper.findListAndIf(logisticsVOS);
ObjectMapper objectMapper = new ObjectMapper();
String s = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(all);
System.out.println(s);
}