最近在練習MyBatis時 進行姓名的模糊查詢時候出現java
org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'name' in 'class java.lang.String' ### Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'name' in 'class java.lang.String'
個人mapper中的select以下apache
<select id="listAllByName" resultType="edu.ifel.mybatis_test.entitys.Student"> SELECT sno,sname,ssex,sage FROM Student WHERE sname LIKE '%${name}%'
</select>
測試類中這樣調用 :mybatis
String sname = "李"; List<Student> studentList = studentDAO.listAllByName(sname);
通過一番查找發現 此處將參數映射爲String類型徹底正確,可是在映射到<select>中時 '%${name}%' 至關於調用了 sname.name (即參數.name)app
解決方案以下 :測試
方案一 : 只需將 '%${name}%' 變爲 '%${_parameter}%' 便可spa
方案二 : 將 '%${name}%' 變爲 '%${value}%' 也可code
而後成功blog