Mapper代理开发

发布时间 2023-03-22 21:11:49作者: YE-

Mapper代理开发

可以看到在上面的MybatisDemo.java文件里面,其中的这句话:

它也存在一定的硬编码问题,,可以利用Mapper代理的方法解决该问题!

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

在创建Mapper接口时,注意要与UserMapper.xml名称一致;
放在同一目录下的话,不要仅仅将两个文件拖动到一起,而是在分别创建时,.java文件用.分割,而.xml文件用/分割
然后运行一下,得到下面的结果:(target->classes

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

将上面的

 

 重新定义为

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

4、编码:

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

不再直接使用List方法执行sql语句,改成这样:

       2、调用方法完成sql的执行

得到与之前相同的结果,但却比之前要更加灵活

可以更加简化一些的是,在mybatis-config.xml文件里面,既然已经将两个文件放在了同一目录下,那么,可以将加载sql映射文件的方式用Mapper代理方式来实现

即将


修改为:

在MyBatis.xml核心配置文件里面,配置各个标签时,需要遵守前后顺序,否则就会报错的!

本文联系了https://www.cnblogs.com/liuzijin/p/16824092.html该篇博客,是我的女朋友的博客诶