Invalid bound statement (not found) 终极篇

Invalid bound statement (not found)

1.检查xml文件所在package名称是否和Mapper interface所在的包名

2.mapper的namespace是否正确。

<mapper namespace=“com.he.mapper.UserDao”>

3.UserDao的方法在UserDao.xml中没有,然后执行UserDao的方法会报此

4.看下mapper的XML配置路径是否正确

mybatis:
  mapper-locations: classpath*:com/he/mapper/**/*.xml
  type-aliases-package: com.he.mapper

我觉得如果你来到了这里,应该不是上面的问题。
注意前方高能
在 resources 下建立文件夹要依次新建,不能像下面这样建立,这样会被认为是一个文件名。在这里插入图片描述
正确建立方法是
第一种:先在 resources 下建立 com, 然后在 com 下建立 he,再在 he 下面建立 mapper。
第二种:com/he/mapper



![图片说明](https://img-ask.csdn.net/upload/201905/07/1557218574_126786.png) **如图,代码层** UserS.java ``` package com.fzx.mapper; import org.springframework.stereotype.Repository; /** * @类名:UserMapper.java * @创建时间:2019年5月7日 * @版本:1.0 */ @Repository(value = "UserMapper") public interface UserS { public Integer getCount() throws Exception; } ``` UserMapper.xml ``` <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.fzx.mapper.UserS"> <select id="getCount" resultType="java.lang.Integer"> select count(0) from users </select> </mapper> ``` mybatis-config.xml ``` <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <properties resource="mysql.properties"></properties> <environments default=""> <environment id=""> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <mappers> <!-- 自动扫描mapper下面的所有xml文件 --> <package name="com/fzx/mapper"/> </mappers> </configuration> ``` DBTest.java ``` package com.fzx.test; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; /** * @类名:DBTest.java * @创建时间:2019年5月7日 * @版本:1.0 */ public class DBTest { public static SqlSessionFactory sqlSessionFactory; static { try { Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (Exception e) { e.printStackTrace(); } } public static SqlSession getSession() { return sqlSessionFactory.openSession(); } } ``` UserService.java ``` package com.fzx.Service; import org.apache.ibatis.session.SqlSession; import com.fzx.mapper.UserS; import com.fzx.test.DBTest; /** * @类名:UserService.java * @创建人:付祉旋 * @创建时间:2019年5月7日 * @版本:1.0 */ public class UserService { public static void main(String[] args) throws Exception { SqlSession session = DBTest.getSession(); UserS userMapper = session.getMapper(UserS.class); System.out.println(userMapper.getCount()); session.commit(); } } ``` **出现异常:Invalid bound statement (not found): com.fzx.mapper.UserS.getCount,怎么解决尼?**在线等~~~
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页