mybatis——解決屬性名和數據庫字段名不一致問題(注解方式)


當我們使用注解開發時有時會遇到數據庫字段名與實體類屬性名不一致的問題。xml方式開發可以通過結果集映射的方式解決,那注解方式開發要怎么解決呢?

注解解決方式:

@Results()注解

Results注解中有兩個常用的參數,一個是id,另一個是value。

id:這個參數的主要作用在於唯一標記這個Results注解,如果接口中的其他抽象方法也需要通過result注解來解決屬性名和數據庫字段名不一致問題,那么重新寫一個Results注解就太麻煩了,這時我們就可以通過@ResultMap()注解中傳入Results注解的參數id來引用Results注解中的內容。舉例:

public interface UserMapper {
    @Select("select * from user")
    @Results(id="aaa",value={
            @Result(id=true,column = "id",property = "userId"),
            @Result(column = "name",property = "userName"),
            @Result(column = "age",property = "userAge")
    })
    List<User> getUsers();


    @Select("select count(id) from user")
    @ResultMap(value={"aaa"})
    int findTotalUser();
}
代碼示例

 

 

value:這個參數用於建立實體類與數據庫表的映射關系,其中可以填寫多個@Result注解,用來將實體類的屬性名和數據庫字段名一一對應。需要注意如果是主鍵字段,@Result注解中需要設置id=true。具體例子參考上邊提供的代碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM