mapper 动态代理 注意事项

Posted ShouldStrong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mapper 动态代理 注意事项相关的知识,希望对你有一定的参考价值。

mapper 借口 同 dao 接头类似

mybatis 框架 会根据  接口定义 创建接口的动态代理对象

 

mapper 接口 开发 需要遵循 4个 开发 规范

mapper中的 映射文件的 namesapce 要与mapper接口的类路径相同

mapper 接口方法名  和 mapper映射文件中定义的每个sql 的 id 相同

mapper 接口方法的输入参数类型 和 mapper映射文件中 每个sql 定义的paramentType 的类型相同

mapper 接口 方法的输出参数类型和mapper 映射文件中的每个sql 定义的resultType 的类型相同

 

 

mapper 映射 文件 UserMapper.xml 放在 resources的 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">
<!-- namespace:命名空间,用于隔离sql -->
<!-- 还有一个很重要的作用,使用动态代理开发DAO,1. namespace必须和Mapper接口类路径一致 -->
<mapper namespace="com.itheima.mybatis.mapper.UserMapper">
    <!-- 根据用户id查询用户 -->
    <!-- 2. id必须和Mapper接口方法名一致 -->
    <!-- 3. parameterType必须和接口方法参数类型一致 -->
    <!-- 4. resultType必须和接口方法返回值类型一致 -->
    <select id="queryUserById" parameterType="Integer"
        resultType="com.itheima.mybatis.pojo.User">
        select * from user where id = #{id}
    </select>
</mapper>

 

以上是关于mapper 动态代理 注意事项的主要内容,如果未能解决你的问题,请参考以下文章

使用MyBatis的mapper接口(动态代理对象)调用时的注意点

MyBatis之Mapper动态代理

MyBatis - Mapper动态代理开发

Mybatis学习系列Mapper接口动态代理

Mapper 动态代理方式

Mybatis框架中Mapper动态代理方式