자바 다른 필드로 매핑 필드가 기준 필드는 해당 인터페이스 전이를 전달하지 않는다

인터페이스 개발에서, 우리는 종종 문제, 비유는 우리의 엔티티 클래스 A는 두 개의 필드와 비밀번호가 사용자 인터페이스를 가지고 있지만 그것을 어떻게, 내가 두 가지 방법을 생각하는 것이 사용자 이름과 암호가 필요 발생 :
1. B 새롭게에서 엔티티 클래스 또는 새지도 필드를 만들 A A A B 꺼낸 다음지도에 넣어 또는

이 방법은 현장 미만 좋아하면,하지만 멀티 필드가 너무 많은 문제가 될 경우.

나는 세부에서 온이 방법 2. :
우선은 간단하게하기 위해, 중산층 엔티티를 호출 새로운 엔티티 클래스를 만들어 필드의 너무 많이 쓰지 않는다

패키지 com.qcr.jituan.sys.service.contract.impl;

수입 com.fasterxml.jackson.annotation.JsonAlias;
수입 com.fasterxml.jackson.annotation.JsonProperty;

공용 클래스 SealSaveFieldSync {

 

@JsonProperty ( "SID")
개인 문자열 pkSeal; //主键

@JsonProperty ( "bcode")
개인 문자열 vssubtypecode;

@JsonProperty ( "PNAME")
개인 문자열 vssubtypename;

@JsonProperty ( "porg")
개인 문자열 vssubordid;

@JsonProperty ( "vorgname")
개인 문자열 vssubordname;


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

참고 : 매개 변수 필드 인터페이스에 해당하는 숫자 2는 우리의 엔티티 클래스 필드의 수에 대응

다음 기록 된 엔티티 클래스는 깔끔한 코드를 위해, 내가 직접하는 방법에서 추출, 초점이다

/ **
*实体类转지도
* @param 시일
* @return
* /
공용 static의 HashMap <문자열, 문자열> entityToMap (SealVO 시일) {
의 HashMap <문자열, 문자열> = 새로운 맵의 HashMap ();
대한 (. 필드 필드 : seal.getClass () getDeclaredFields는 ()) {
{시도
부울 플래그 = field.isAccessible ();
field.setAccessible (TRUE);
오브젝트 O = field.get (인);
경우 (O = NULL!) {
필드 contField = SealSaveFieldSync.class.getDeclaredField (field.getName ());
JsonProperty voField = contField.getAnnotation (JsonProperty.class);
문자열의 = voField.value ();
map.put (S, o.toString ());
}
field.setAccessible (플래그);
} 캐치 (예외 전자) {
e.printStackTrace ();
}
}
지도를 반환;
}
. 1
2
. 3
. 4
. 5
. 6
. 7
. 8
. 9
(10)
. (11)
(12)은
13 인
14
15
16
17.
18 인
19.
20는
21이다
(22)이
23 인
24
25
코드 내 엔티티 클래스 밀봉 이것은 우리가 얻을 데이터의 방법은 이것이다 :


빠르고 쉽게 필드 이름에서 엔티티 클래스가 다른 필드로 변환 할 수 있습니다이 방법! !

읽어 주셔서 감사합니다! !
--------------------- 

추천

출처www.cnblogs.com/hyhy904/p/10954426.html