MyBatis----代理开发

概述

代理开发方式介绍
采用Mybatis的代理开发方式实现Dao层的开发,这种方式是现在进入企业的主流。Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis 框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法。
Mapper接口开发需要遵循以下规范:
1、Mapper.xml文件中的namespace与mapper接口的全限定名相同
2、Mapper接口方法名和Mapper.xm|中定义的每个statement的id相同
3、Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql的parameterType的类型相同
4、Mapper接口方法的输出参 数类型和mapper .xm|中定义的每个sql的resultType的类型相同
即:在这里插入图片描述
简单来说,我们按照规则来编写接口和配置文件后,我们可以直接来使用接口中的方法,接口具体的实现由MyBatis实现。从原理上来讲,我们调用接口的方法其实就是调用MyBatis为我们实现接口来创建的对象中的方法

一般的Dao

这里一个简单的MyBatis的Dao
配置文件:在这里插入图片描述
在这里插入图片描述
然后:接口的实现在这里插入图片描述
然后测试:在这里插入图片描述成功

代理开发的简单实现

先实现这些规范

  1. Mapper.xml文件中的namespace与mapper接口的全限定名相同(这里全限定名即接口的全类名)
    Mapper.xml文件中的namespace:
    在这里插入图片描述
    接口:
    在这里插入图片描述

  2. Mapper接口方法名和Mapper.xm|中定义的每个statement的id相同(statement即对数据库的操作)
    接口:在这里插入图片描述
    Mapper.xm|中定义的一个statement:在这里插入图片描述

  3. Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql的parameterType的类型相同
    这里输入参数的类型就是指存储或者修改的时候,我们向mapper.xml中传递的对象类型
    这里我们这个简单的实现没有参数

  4. Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
    这里指的是具体的对象类型。如果是集合,则按照集合中存储的数据的类型来算
    接口方法的输出参数类型:在这里插入图片描述
    sql的resultType的类型:在这里插入图片描述
    然后:
    在这里插入图片描述

一个带有参数的测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值