java - spring boot 整合mybatis 註解版查詢
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-23 09:14:41
0
2
1105

-spring boot 集成 mybatis 使用註解實現
spring boot 和 mybatis已經正常集成,在使用查詢時使用的是註解,(項目沒有任何XML檔案)

@Mapper
@Table(name = "t_user")
public interface UserMapper {

    @Select("select * from t_user where user_id = #{id}")
      public User findUserById(@Param("id") String id);
}

這種方式是不知道為什麼,只有幾個屬性會填入值,其他屬性查詢出來的結果都為null

#但是我如果寫了

 @Results({
 @Result(column = "user_id",property = "userId"),
            @Result(column = "username",property = "username"),
            @Result(column = "pass",property = "pass"),
            @Result(column = "phone_number",property = "phoneNumber")
})

就會完全正確,每個屬性都有值
問題1: 為什麼會出現有的屬性有值,有的屬性沒值?
問題2:我不能每個查詢語句都這麼寫,這樣會有很多的重複的@Result部分,有沒有註解將其在內部進行對應關係實現,不需要每次都寫@ Result?

曾经蜡笔没有小新
曾经蜡笔没有小新

全部回覆(2)
世界只因有你

問題1. 因為結果集的column和Bean的property不對應,當然就會null.

問題2. 你可以在sql中用別名,使得column和property對應,這樣就不會出現問題1.

漂亮男人

問題一的話,因為資料庫欄位是你底線分隔,bean中的欄位是駝峰命名的,如user_name和userName,導致無法匹配

如果是透過xml檔案來設定的話,只需要開啟駝峰命名轉換

yml中 大概是這樣

mybatis:
  configuration:
    map-underscore-to-camel-case: true
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!