MyBatis報錯: Parameter '*' not found. Available parameters are [1, 0, param1, param2]


mapper代理接口中的方法:

  public User login(String loginid,String loginpwd) throws Exception;

mapper.xml中的代碼:

  <select id="login" parameterType="String" resultType="User">
    SELECT * FROM `user` WHERE LoginID='#{loginid}' and LoginPwd='#{loginpwd}' AND Role=2
  </select>

 

調用login()時出現Parameter 'loginid' not found. Available parameters are [1, 0, param1, param2]的錯誤。

 

解決方案:

 當只傳一個參數到sql語句時,可以直接寫參數名,當傳多個參數時,應當這樣寫(多個參數已#{0}開始):

public User login(String loginid,String loginpwd) throws Exception;

 

<select id="loginByTeacher" parameterType="String" resultType="User">
	SELECT * FROM `user` WHERE LoginID=#{0} and LoginPwd=#{1} AND Role=2
 </select>

  

 

參考:http://www.2cto.com/database/201409/338155.html


免責聲明!

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



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