springboot 中 Invalid bound statement (not found):錯誤
阿新 • • 發佈:2018-12-04
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.zpjeck.mapper.EmployeeMapper.insertEmp at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:227) ~[mybatis-3.4.6.jar:3.4.6] at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:49) ~[mybatis-3.4.6.jar:3.4.6] at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65) ~[mybatis-3.4.6.jar:3.4.6] at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58) ~[mybatis-3.4.6.jar:3.4.6] at com.sun.proxy.$Proxy61.insertEmp(Unknown Source) ~[na:na] at com.zpjeck.contraller.EmpContraller.insertEmp(EmpContraller.java:31) ~[classes/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_121] at sun.reflect.DelegatingMethodAccessorImpl.__invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:45009) ~[na:1.8.0_121] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:45012) ~[na:1.8.0_121] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:215) ~[spring-web-5.1.2.RELEASE.jar:5.1.2.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:142) ~[spring-web-5.1.2.RELEASE.jar:5.1.2.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) ~[spring-webmvc-5.1.2.RELEASE.jar:5.1.2.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.1.2.RELEASE.jar:5.1.2.RELEASE]
遇到這種錯誤,首先先排查一下錯誤,EmployeeMapper.java檔案中的 方法是不是與EmployeeMapper.xml 的操作資料的語句中的id保持一致??
//EmployeeMapper.java檔案 package com.zpjeck.mapper; import com.zpjeck.bean.Employee; public interface EmployeeMapper { public Employee selectById(Integer id); public int insertEmp(Employee employee); }
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zpjeck.mapper.EmployeeMapper"> <select id="selectById" resultType="com.zpjeck.bean.Employee"> select * from employee where id=#{id} </select> <insert id="insertEmp"> insert into employee(lastName,email,gender,d_id) values (#{lastName},#{email},#{gender},#{d_id}) </insert> </mapper>
第二個容易出錯的地方:
寫對正確的配置,就能執行。