zoukankan      html  css  js  c++  java
  • org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.gong.mybatis.dao.EmployeeMapper.getEmpById

    在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文件中加一个空格或者空行然后保存

  • 相关阅读:
    5分钟了解为什么学习Go
    jieba gensim 相似度实现
    functiils.lru_cache缩短递归时间
    python深浅copy和赋值
    ajax上传文件 基于jquery form表单上传文件
    form组件类 钩子函数验证
    基于jquery读取input上传的文件内容
    MongonDB指令汇总
    冥想编程
    《如何阅读一本书》读书笔记
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12209227.html
Copyright © 2011-2022 走看看