<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 11,  comments - 28,  trackbacks - 0
    今天在繼續(xù)研究JShopStore時候,在查看product的明細時即
    執(zhí)行action
    ????<action?path="/shop/viewItem"?type="org.apache.struts.beanaction.BeanAction"
    ????????????name
    ="catalogBean"?scope="session"
    ????????????validate
    ="false"?input="/catalog/Product.jsp">
    ??????
    <forward?name="success"?path="/catalog/Item.jsp"/>
    ????
    </action>
    報NestedSqlException錯誤,錯誤的核心部分如下:
    Caused?by:?com.ibatis.dao.client.DaoException:?Failed?to?execute?queryForObject?-?id?[getItem],?parameterObject?[EST-18].??Cause:?com.ibatis.common.jdbc.exception.NestedSQLException:???
    ---?The?error?occurred?in?com/ibatis/jpetstore/persistence/sqlmapdao/sql/Item.xml.??
    ---?The?error?occurred?while?applying?a?parameter?map.??
    ---?Check?the?getItem-InlineParameterMap.??
    ---?Check?the?statement?(query?failed).??
    ---?Cause:?java.sql.SQLException:?[Microsoft][SQLServer?2000?Driver?for?JDBC][SQLServer]???'itemid'?????
    Caused?by:?java.sql.SQLException:?[Microsoft][SQLServer?
    2000?Driver?for?JDBC][SQLServer]???'itemid'?????
    Caused?by:?com.ibatis.common.jdbc.exception.NestedSQLException:???
    ---?The?error?occurred?in?com/ibatis/jpetstore/persistence/sqlmapdao/sql/Item.xml.??
    ---?The?error?occurred?while?applying?a?parameter?map.??
    ---?Check?the?getItem-InlineParameterMap.??
    ---?Check?the?statement?(query?failed).??
    ---?Cause:?java.sql.SQLException:?[Microsoft][SQLServer?2000?Driver?for?JDBC][SQLServer]???'itemid'?????
    我跟蹤、跟蹤,跟蹤到ItemSqlMapDao
    ??public?Item?getItem(String?itemId)?{
    ????Integer?i?
    =?(Integer)?queryForObject("getInventoryQuantity",?itemId);
    ????Item?item?
    =?(Item)?queryForObject("getItem",?itemId);
    ????item.setQuantity(i.intValue());
    ????
    return?item;
    ??}
    找到錯誤語句
    Item item = (Item) queryForObject("getItem", itemId);
    繼續(xù)跟蹤到操縱的sql_map文件Item.xml
    <select?id="getItem"?resultClass="item"?parameterClass="string"?cacheModel="quantityCache">
    ????select
    ??????ITEMID,
    ??????LISTPRICE,
    ??????UNITCOST,
    ??????SUPPLIER?AS?supplierId,
    ??????I.PRODUCTID?AS?"product.productId",
    ??????NAME?AS?"product.name",
    ??????DESCN?AS?"product.description",
    ??????CATEGORY?AS?"product.categoryId",
    ??????STATUS,
    ??????ATTR1?AS?attribute1,
    ??????ATTR2?AS?attribute2,
    ??????ATTR3?AS?attribute3,
    ??????ATTR4?AS?attribute4,
    ??????ATTR5?AS?attribute5,
    ??????QTY?AS?quantity
    ????from?ITEM?I,?INVENTORY?V,?PRODUCT?P
    ????where?P.PRODUCTID?=?I.PRODUCTID
    ??????and?I.ITEMID?=?V.ITEMID
    ??????and?I.ITEMID?=?#value#
    ??
    </select>
    問題就出現(xiàn)在這,Item類中包含了Product類,出現(xiàn)NestedSqlException錯誤。
    查閱了ibatis幫助,此處sql_map的嵌套類寫法是正確的。我又將這個sql語句拷貝到MsSqlServer中執(zhí)行,結(jié)果也是正確的。陷入困惑。
    在網(wǎng)上找資料,發(fā)現(xiàn)了一個英文網(wǎng)站中指明了
    ---?Cause:?java.sql.SQLException:?[DataDirect][SQLServer?JDBC?Driver][SQLServer]Ambiguous?column?name?'itemid'.?
    哈哈,問題就此找到了。即itemid列指待不清,應(yīng)該將ITEMID替換成I.ITEMID AS ITEMID。而之所以我直接將語句拷貝到MsSqlServer執(zhí)行正確,是因為MSSqlServer自動做了處理,加上了表的別名。而這個Sql語句本身是存在問題的。
    所以item.xml替換后的代碼為
    ??<select?id="getItem"?resultClass="item"?parameterClass="string"?cacheModel="quantityCache">
    ????select
    ??????I.ITEMID?AS?ITEMID,
    ??????LISTPRICE,
    ??????UNITCOST,
    ??????SUPPLIER?AS?supplierId,
    ??????I.PRODUCTID?AS?"product.productId",
    ??????NAME?AS?"product.name",
    ??????DESCN?AS?"product.description",
    ??????CATEGORY?AS?"product.categoryId",
    ??????STATUS,
    ??????ATTR1?AS?attribute1,
    ??????ATTR2?AS?attribute2,
    ??????ATTR3?AS?attribute3,
    ??????ATTR4?AS?attribute4,
    ??????ATTR5?AS?attribute5,
    ??????QTY?AS?quantity
    ????from?ITEM?I,?INVENTORY?V,?PRODUCT?P
    ????where?P.PRODUCTID?=?I.PRODUCTID
    ??????and?I.ITEMID?=?V.ITEMID
    ??????and?I.ITEMID?=?#value#
    ??
    </select>
    問題解決,OK!誒,亂碼也耽誤了一些時間,否則早就解決了,看來亂碼誤事啊!
    posted on 2007-01-16 13:38 滌生 閱讀(3364) 評論(6)  編輯  收藏


    FeedBack:
    # re: ibatis JshopStore5的sqlmap的xml錯誤,NestedSQLException錯誤[未登錄]
    2007-01-16 17:06 | junmy
    posted on 2006-05-22 00:42
    http://m.tkk7.com/wujun/archive/2006/05/22/47392.html
    早就發(fā)現(xiàn)了~
      回復(fù)  更多評論
      
    # re: ibatis JshopStore5的sqlmap的xml錯誤,NestedSQLException錯誤
    2007-01-16 20:21 | 滌生
    @junmy
    今天我還在blogjava上找了一圈,沒找到對應(yīng)的。要是早看到你的大作,可以省我半個上午的時間  回復(fù)  更多評論
      
    # re: ibatis JshopStore5的sqlmap的xml錯誤,NestedSQLException錯誤[未登錄]
    2007-01-18 19:44 | BeanSoft
    強烈建議 dudu 加入全文索引... 沒搜索這么多 blog 也是很浪費啊...  回復(fù)  更多評論
      
    # re: ibatis JshopStore5的sqlmap的xml錯誤,NestedSQLException錯誤
    2008-10-20 20:40 | Guest
    我也是這樣改的,不過仍然還是錯誤。。。搞不明白呢。  回復(fù)  更多評論
      
    # re: ibatis JshopStore5的sqlmap的xml錯誤,NestedSQLException錯誤
    2010-02-06 13:09 | ossoftwaare
    好內(nèi)容,以前研究過,不過好久了, 最近寫了幾句,也發(fā)現(xiàn)了這個問題  回復(fù)  更多評論
      
    # re: ibatis JshopStore5的sqlmap的xml錯誤,NestedSQLException錯誤
    2010-12-10 14:48 | LingShame
    @junmy
    你走得路,先人已經(jīng)走過N多次了.
    你再走來,不覺得可恥嗎?  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2007年1月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(5)

    隨筆檔案

    UML

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一级特黄录像免费播放中文版| 亚洲美女免费视频| 亚洲av日韩精品久久久久久a| 又大又硬又爽又粗又快的视频免费| 亚洲人成网7777777国产| 一区二区三区AV高清免费波多| 免费国产高清视频| 精品亚洲成a人在线观看| 国产午夜鲁丝片AV无码免费| 国产亚洲精品AAAA片APP| 免费人成网站7777视频| 免费人成大片在线观看播放电影 | 亚洲欧洲精品无码AV| 国产成人高清精品免费观看| 国产亚洲大尺度无码无码专线 | 一本色道久久88—综合亚洲精品 | 无码中文在线二区免费| 亚洲精品天堂在线观看| 日韩伦理片电影在线免费观看| 亚洲AV永久无码精品一福利| 伊在人亚洲香蕉精品区麻豆| 国产精品极品美女自在线观看免费 | 亚洲国产女人aaa毛片在线| 久久久精品免费视频| 亚洲黄色片免费看| 毛片免费视频播放| 香港经典a毛片免费观看看| 中文字幕亚洲日韩无线码| 国产精品免费看久久久| 亚洲国产高清美女在线观看| 在线精品免费视频| caoporn国产精品免费| 亚洲最大福利视频网站| 成人免费无毒在线观看网站 | 91福利免费视频| 亚洲日韩中文字幕一区| 亚洲一级Av无码毛片久久精品| 男人的天堂网免费网站| 亚洲最大av资源站无码av网址| 亚洲AV伊人久久青青草原| 日韩电影免费在线观看中文字幕|