亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mybatis中foreach報(bào)錯(cuò):_frch_item_0 not found的解決方法

 更新時(shí)間:2017年06月14日 08:37:28   作者:興國(guó)First  
這篇文章主要給大家介紹了mybatis中foreach報(bào)錯(cuò):_frch_item_0 not found的解決方法,文章通過示例代碼介紹了詳細(xì)的解決方法,對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。

發(fā)現(xiàn)問題

在mybatis的動(dòng)態(tài)sql中最常見的錯(cuò)誤就是使用,比如:_frch_item_0 not found

There is no getter for property named 'states' in 'class com.xingguo.model.User'

等等。

一般在使用時(shí)出現(xiàn)問題是由以下幾種錯(cuò)誤使用方式造成的:

       1.參數(shù)類型不是List,特別當(dāng)參數(shù)為實(shí)體類,一個(gè)屬性為list時(shí),注意collection的名字。

       2.遍歷時(shí)屬性的名字或者字段錯(cuò)誤

       3.多個(gè)參數(shù)時(shí)沒有使用@param進(jìn)行命名,在sql中順序混亂

下面從MySQL的源碼中看下對(duì)于list參數(shù)是如何解析的。

首先看到DefaultSqlSession.Java中的wrapCollection()方法:

 private Object wrapCollection(final Object object) {
 if (object instanceof Collection) {
  StrictMap<Object> map = new StrictMap<Object>();
  map.put("collection", object);
  if (object instanceof List) {
  map.put("list", object);
  }
  return map;
 } else if (object != null && object.getClass().isArray()) {
  StrictMap<Object> map = new StrictMap<Object>();
  map.put("array", object);
  return map;
 }
 return object;
 }

所以從上面可以看到中默認(rèn)情況下寫的array和list,也就是collection默認(rèn)的是array和list。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論