Mapper代理开发

Mapper代理开发

Mapper代理开发的概念

之前我们写代码是基本的使用方式,它也存在硬编码的问题(耦合度太高):如下
//执行sql list<User>users = sqlSession.selectList("test.selectAll"); System.out.println(users);
这里调用selectList()方法传递参数是映射配置文件中的namespace.id值。这样写也不便于后期的维护。如果使用Mapper代理方式如下,则可以降低耦合度
//3.获取接口代理对象 UserMapper userMapper = SqlSession.getMapper(UserMapper.class); //4.执行方法,其实就是执行sql语句 List<User>users=userMapper.selectAll();
通过上面的描述可以看出Mapper代理方式的目的:
降低了耦合度
简化后期执行SQL
在MyBatis官网也是推荐使用Mapper代理方式。

使用Mapper代理要求

使用Mapper代理方式,必须满足以下要求:

定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下。如下图
在这里插入图片描述
设置SQL映射文件的namespace属性为Mapper接口全限定名

<!--
namespace:名称空间,必须是对应接口的全限定名
-->
<mapper namespace="com.itheima.mapper.UserMapper">

在Mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈毓辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值