2016-04-19 13 views
0

mybatis注釈を使用してマップしようとしているPOJOがあります。正しい行数をフェッチしますが、すべてのNULLが戻されます。私が間違っていることはありますか?注釈を使用してmybatis結果をマッピングする

POJO

public class Vendor { 
    private String vendorCode; 
    private String vendorName; 
} 

マッパー

@Select("SELECT V.AGNC_MGT_SYS_VNDR_CDE, V.AGNC_MGT_SYS_VNDR_NME FROM CPED_CPM1S.AGNC_MGT_VNDR_T V") 
    @Results({ 
      @Result(property = "vendorCode", column = "CPED_CPM1S.AGNC_MGT_SYS_VNDR_CDE"), 
      @Result(property = "vendorName", column = "CPED_CPM1S.AGNC_MGT_SYS_VNDR_NME") 
      }) 
    List<Vendor> selectAllVendors(); 
+0

'CPED_CPM1S'はテーブルまたはデータベースですか? – Blank

+2

カラム属性に 'CPED_CPM1S.'というプリフィックスを付けずに試しましたか?私はテーブル名やデータベース名が必要ではないと思います。 – Lucky

答えて

0

変更への選択:

@Results({ 
     @Result(property = "vendorCode", column = "AGNC_MGT_SYS_VNDR_CDE"), 
     @Result(property = "vendorName", column = "AGNC_MGT_SYS_VNDR_NME") 
     }) 

列名が正確にクエリからの出力列と一致する必要があります。上記のスニペット、CPED_CPM1S。削除されました。

そしてところで、結果のマッピングを与えることなく、これを行うための別の方法は、Beanのプロパティ名として列名と出力を持つようにクエリを変更することです:

@Select("SELECT V.AGNC_MGT_SYS_VNDR_CDE as vendorCode, V.AGNC_MGT_SYS_VNDR_NME as vendorName FROM CPED_CPM1S.AGNC_MGT_VNDR_T V") 

は、に加えて「プロパティ名として」注意しますクエリ。

関連する問題