mybatis框架對映檔案配置錯誤異常:org.springframework.web.util.NestedServletException
阿新 • • 發佈:2018-12-16
異常資訊
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'id' in 'class java.lang.String' org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:986) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:870) javax.servlet.http.HttpServlet.service(HttpServlet.java:635) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:855) javax.servlet.http.HttpServlet.service(HttpServlet.java:742) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
異常檔案位置
<!--查詢一條方法--> <select id="findOrdersById" parameterType="String" resultMap="ordersMap" > SELECT * from orders <where> <if test=" id != null id != '' "> id = #{id} </if> </where> </select>
錯誤原因
parameterType="String" ----------->id
String 型別對應的 id 在進行條件判斷時找的位置不對,文中找的是class java.lang.String
實際要找的位置是,你id 所在的實體類
解決措施
<!--查詢一條方法--> <select id="findOrdersById" parameterType="String" resultMap="ordersMap" > SELECT * from orders <where> <if test=" _parameter!= null _parameter!= '' "> id = #{id} </if> </where> </select>
在:標籤的 test 屬性中寫的是物件的屬性名,如果是包裝類的物件要使用 OGNL 表示式的寫法