摘要
Spring boot 整合Mybatis时 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)报错解决办法
我在使用Spring boot 整合Mybatis时,在junit中运行代码时,当运行到调用dao层的代码时就报错,报错信息如下:
但是我配置都写了啊application.properties文件如下:
项目结构如下:

BeBianMinApplicationTests.java如下:
LinkHouseDao内容如下:
mapper文件如下:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- mapper 为根元素节点, 一个namespace对应一个dao --><mapper namespace="com.beBianMin.beBianMin.dao.LinkHouseDao">
<resultMap id="selecMap" type="com.beBianMin.beBianMin.entity.LinkHouseInfo">
<id column="id" property="id" jdbcType="INTEGER" />
<result column="houseUrl" property="houseUrl" jdbcType="VARCHAR" />
<result column="houseDesc" property="houseDesc" jdbcType="VARCHAR" />
<result column="imgUrl" property="imgUrl" jdbcType="VARCHAR" />
<result column="startPrice" property="startPrice" jdbcType="VARCHAR" />
<result column="finalPrice" property="finalPrice" jdbcType="VARCHAR" />
<result column="dataSource" property="dataSource" jdbcType="VARCHAR" />
<result column="sellDate" property="sellDate" jdbcType="VARCHAR" />
<result column="oriented" property="oriented" jdbcType="VARCHAR" />
<result column="houseUrl" property="houseUrl" jdbcType="VARCHAR" />
<result column="floor" property="floor" jdbcType="VARCHAR" />
<result column="buildType" property="buildType" jdbcType="VARCHAR" />
<result column="elevator" property="elevator" jdbcType="VARCHAR" />
<result column="decorationType" property="decorationType" jdbcType="VARCHAR" />
<result column="buildingAge" property="buildingAge" jdbcType="VARCHAR" />
<result column="houseNature" property="houseNature" jdbcType="VARCHAR" />
<result column="houseType" property="houseType" jdbcType="VARCHAR" />
<result column="housePlan" property="housePlan" jdbcType="VARCHAR" />
<result column="communityName" property="communityName" jdbcType="VARCHAR" />
<result column="budget" property="budget" jdbcType="VARCHAR" />
<result column="currHouseType" property="currHouseType" jdbcType="VARCHAR" />
<result column="avgPrice" property="avgPrice" jdbcType="VARCHAR" />
<result column="createDate" property="createDate" jdbcType="VARCHAR" />
<!-- <result column="categoryName" property="categoryName" />
<association property="user" column="userid"
select="com.blog.dao.UserDao.findUserById" /> -->
</resultMap>
<!-- 根据大图url查询房源信息 -->
<select id="queryLinkHouseInfoByImgUrl" parameterType="string"
resultType="com.beBianMin.beBianMin.entity.LinkHouseInfo">
select *
from
bm_link_house_info
where imgUrl = #{imgUrl} </select>
<!-- 根据大图url新增房源信息 -->
<insert id="addLinkHouseInfo" parameterType="com.beBianMin.beBianMin.entity.LinkHouseInfo"
useGeneratedKeys="true" keyProperty="id">
insert into
bm_link_house_info(houseUrl,houseDesc,imgUrl,startPrice,finalPrice,dataSource,sellDate,oriented,
floor,buildType,elevator,decorationType,buildingAge,houseNature,houseType,housePlan,communityName,budget,
currHouseType,avgPrice,createDate)
values(
#{houseUrl},#{houseDesc},#{imgUrl},#{startPrice},#{finalPrice},#{dataSource},#{sellDate},#{oriented},
#{floor},#{buildType},#{elevator},#{decorationType},#{buildingAge},#{houseNature},#{houseType},#{housePlan},#{communityName},#{budget},
#{currHouseType},#{avgPrice},#{createDate}
) </insert></mapper>
一开始我以为是dao没有注入进来(null),但是我在调试模式下看了下,dao不是null,已经被实例化了,但是在执行dao的代码时就一直报错。
急求各位大神到底出错在哪个地方了