org.apache.ibatis.binding.BindingException

org.apache.ibatis.binding.BindingException:Invalidboundstatement(notfound): zzu.qg.mybatis.mapper.UserMapper.findUserByInfo
    at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:178)
    at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:38)
    ......
Caused by: org.apache.ibatis.builder.IncompleteElementException: Could not find SQL statement to include with refid 'zzu.qg.mybatis.mapper.UserMapper.query_user2'
    at org.apache.ibatis.builder.xml.XMLIncludeTransformer.findSqlFragment(XMLIncludeTransformer.java:62)
    at org.apache.ibatis.builder.xml.XMLIncludeTransformer.applyIncludes(XMLIncludeTransformer.java:37)
    ......
Caused by: java.lang.IllegalArgumentException: XML fragments parsed from previous mappers does not contain value for zzu.qg.mybatis.mapper.UserMapper.query_user2
    at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:768)
    ......

不知道看caused by,在全局配置文件找了半天没有发现错误,【cry】【cry】【cry】

扫了一眼caused by,出错原因是找不到 refid='zzu.qg.mybatis.mapper.UserMapper.query_user2',这肯定是映射文件出错。

然后refid  那肯定是sql语句段出错,, 结果就发现 sql的id中多写了一个s

<sql id="squery_user2">
		<if test="ids!=null">
			<!-- 
			<foreach collection="ids" item="userId" separator="or">
				id=#{userId}
			</foreach>
			 -->
			<foreach collection="ids" item="userId" open="id in(" close=")" separator=",">
				#{userId}
			</foreach>
		</if>
</sql>

经验:  mybatis,先加载全局配置文件,再加载映射文件(都加载通过,才能用mybatis执行对数据库的操作),然后运行Test程序。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值