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该篇博客,是我的女朋友的博客诶
标签:xml,Mapper,映射,文件,代理,接口,开发,SQL From: https://www.cnblogs.com/yzx-sir/p/17240304.html