码迷,mamicode.com
首页 > 移动开发 > 详细

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.gong.mybatis.dao.EmployeeMapper.getEmpById

时间:2020-01-18 16:31:43      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:去掉   last   rom   from   XML   com   res   eem   enc   

在mybatis全局配置文件中利用mappers中的mapper中的class属性配置sqll映射文件时出现该问题:以EmployeeMapper.java和EmployeeMapper.xml为例

在使用class配置sql映射文件时:

需注意三点:

1、EmployeeMapper.java和EmployeeMapper.xml需在同一个包下,且类名和xml文件名要相同;

2、在Mybatis全局配置文件中注册映射文件时要正确:

    <mappers>
        <mapper class="com.gong.mybatis.dao.EmployeeMapper" />
    </mappers>

3、在EnployeeMapper.xml中:

<?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="com.gong.mybatis.dao.EmployeeMapper">
    <select id="getEmpById" resultType="com.gong.mybatis.bean.Employee">
        select id,last_name lastName,email,gender from tbl_employee where id = #{id}
    </select>
</mapper>

在EmployeeMapper.java中:

package com.gong.mybatis.dao;

import com.gong.mybatis.bean.Employee;

public interface EmployeeMapper {
    public Employee getEmpById(Integer id);
}

namespace的值要与EmployeeMapper接口中的全类名保持一致,同时id的值要与相关的方法名保持一致。

4、如果这些都是正确的,那么可以做如下处理:

  • 去掉EmployeeMapper.xml文件中的中文注释(我就是这么解决的)

  • 在EmployeeMapper.xml文件中加一个空格或者空行然后保存

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.gong.mybatis.dao.EmployeeMapper.getEmpById

标签:去掉   last   rom   from   XML   com   res   eem   enc   

原文地址:https://www.cnblogs.com/xiximayou/p/12209227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!