<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                **1. 兩個字段數量不同的枚舉類** ```java public enum Dog { XIAOHUANG, DAHUANG, DOG_1, DOG_2, DOG_3, } public enum DogDto { XIAOHUANG, DAHUANG, DOG_DTO, } ``` **2. 映射接口** ```java @Mapper public interface DogMapper { DogMapper INSTANCE = Mappers.getMapper(DogMapper.class); /** * 1)兩個枚舉類的屬性名相同時會自動映射,不需要顯示處理。 * 2)DOG_1、DOG_2、DOG_3都可以映射到DOG_DTO。 */ @ValueMapping(source = "DOG_1", target = "DOG_DTO") @ValueMapping(source = "DOG_2", target = "DOG_DTO") @ValueMapping(source = "DOG_3", target = "DOG_DTO") DogDto toDto(Dog source); /** * MappingConstants.ANY_REMAINING 可以讓source剩余的未匹配的屬性都可以映射到DOG_DTO */ @ValueMapping(source = MappingConstants.ANY_REMAINING, target = "DOG_DTO") DogDto toDto2(Dog source); /** * MappingConstants.ANY_UNMAPPED 可以讓source未使用@ValueMapping(source="..",)明確指定的 * 屬性都可以映射到DOG_DTO。 */ @ValueMapping(source = MappingConstants.ANY_UNMAPPED, target = "DOG_DTO") DogDto toDto3(Dog source); } ``` **3. 測試** ```java @Test public void testDogMapper() { DogDto dogDto = DogMapper.INSTANCE.toDto(Dog.XIAOHUANG); DogDto dogDto1 = DogMapper.INSTANCE.toDto(Dog.DOG_1); DogDto dogDto2 = DogMapper.INSTANCE.toDto2(Dog.DOG_1); DogDto dogDto3 = DogMapper.INSTANCE.toDto3(Dog.DAHUANG); System.out.println("dogDto:" + dogDto); //dogDto:XIAOHUANG System.out.println("dogDto1:" + dogDto1);//dogDto1:DOG_DTO System.out.println("dogDto2:" + dogDto2);//dogDto2:DOG_DTO System.out.println("dogDto3:" + dogDto3);//dogDto3:DOG_DTO } ``` **4. 查看映射接口被Mapstruct編譯后的代碼** ```java public class DogMapperImpl implements DogMapper { public DogMapperImpl() { } public DogDto toDto(Dog source) { if (source == null) { return null; } else { DogDto dogDto; switch(source) { case DOG_1: dogDto = DogDto.DOG_DTO; break; case DOG_2: dogDto = DogDto.DOG_DTO; break; case DOG_3: dogDto = DogDto.DOG_DTO; break; case XIAOHUANG: dogDto = DogDto.XIAOHUANG; break; case DAHUANG: dogDto = DogDto.DAHUANG; break; default: throw new IllegalArgumentException("Unexpected enum constant: " + source); } return dogDto; } } public DogDto toDto2(Dog source) { if (source == null) { return null; } else { DogDto dogDto; switch(source) { case XIAOHUANG: dogDto = DogDto.XIAOHUANG; break; case DAHUANG: dogDto = DogDto.DAHUANG; break; default: dogDto = DogDto.DOG_DTO; } return dogDto; } } public DogDto toDto3(Dog source) { if (source == null) { return null; } else { switch(source) { default: DogDto dogDto = DogDto.DOG_DTO; return dogDto; } } } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看