ibatis/mybatis属性三:resultMap和resultClass/resultType
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ibatis/mybatis属性三:resultMap和resultClass/resultType相关的知识,希望对你有一定的参考价值。
参考技术A ResultMap和ResultType在使用中的区别org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.gong.mybatis.da
在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文件中加一个空格或者空行然后保存
以上是关于ibatis/mybatis属性三:resultMap和resultClass/resultType的主要内容,如果未能解决你的问题,请参考以下文章
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.gong.mybatis.da
Mybatis报错:org.apache.ibatis.builder.IncompleteElementException
ibatis iterate VS mybatis foreach