1. 使用mapper代理开发是为了解决mybatis的硬编码问题

2. 步骤

1. 定义与SQL映射文件同名的mapper接口,并且将mapper接口和SQL映射文件放置在同一目录下

01065-d0i8zvh72xq.png
这样并不好,因为要求代码和配置文件分开,因此在配置文件resources中创建与mapper接口一样路径的directoryxxx/xxx/xxx,然后将配置文件放进去
03328-psw414pbqlo.png
33313-0jr6a4a6dcnl.png
发现编译完成后在同一个路径下
33469-kgr27c8g9zf.png

2. 设置SQL映射文件的namespace属性为mapper接口全限定名

接口的全限定名
55170-101aqtmol6l.png
设置namespace属性
63492-f9u0udwhmra.png

3. 在mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致

70678-unxz884h74b.png
方法名为selectAll,返回值类型为user
62603-4vnx7oah5x.png
写到后来才发现应该定义一个接口,我定义成了类,于是进行修改
67205-slclhgbgqab.png
还要修改配置文件中的路径
75162-4lsnfxsq4s8.png
19251-yjhvrsonyng.png

4. 编码

1. 通过SqlSession的getMapper方法获取Mapper接口的代理对象

94948-m8057ccoj7i.png

2. 调用对应的方法完成sql执行

19589-76vt3o630s7.png
12309-99h5lhr7bk9.png
通过包扫描方式加载映射文件
92741-ttr87bxv8c.png

最后修改:2022 年 01 月 12 日
如果觉得我的文章对你有用,请随意赞赏