Java MyBatis之Mapper代理详解
Mapper代理
上一节MyBatis快速入们中依旧有硬编码的部分:
List<Member> members = sqlSession.selectList("test.selectAll");
这里test.selectAll就是硬编码,当我们xml文件中sql语句较多时,依旧不太方便,还没有提示功能!,因此本节就介绍Mapper代理,使用Mapper代理方式完成上一篇的入门案例!
步骤如下图:
对于第一步,请看下面目录结构:
我们可以直接将MemberMapper.xml放到java.com.aniu.mapper目录下,但这样不符合项目规范,xml配置文件我们一般都放resources目录,因此你需要在resources目录建一个同样的目录,这样Maven编译后的class文件Member.Mapper和MemberMapper.xml依旧在同一个目录:
需要注意的是,resources里面是目录,我们不能以包的com.aniu.mapper的方式建立多层文件夹,应该用com/aniu/mapper这种方式!
第二步:
命名空间设为Mapper接口的全限定名!
第三步:
需要注意的是要记得在配置文件中更改映射文件的路径!
当然,当sql映射文件多了之后,mybatis配置文件中要导入的sql映射文件也就多了,我们用这种Mapper代理的方式,可以用包扫描方式一次引入所有的sql映射文件!
public class MyBatisDemo2 { public static void main(String[] args) throws IOException { //1. 加载mybatis的核心配置文件,获取 SqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //2. 获取SqlSession对象,用它来执行sql SqlSession sqlSession = sqlSessionFactory.openSession(); //3. 执行sql (只有这块需要手写,其他步骤直接复制) // List<Member> members = sqlSession.selectList("test.selectAll"); // 命名空间+id,这就是命名空间的作用:便于区分 MemberMapper memberMapper = sqlSession.getMapper(MemberMapper.class); List<Member> members = memberMapper.selectAll(); System.out.println(members); //4. 释放资源 sqlSession.close(); } }
到此这篇关于Java MyBatis之Mapper代理详解的文章就介绍到这了,更多相关Java Mapper代理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
设计模式系列之组合模式及其在JDK和MyBatis源码中的运用详解
这篇文章主要介绍了组合模式及其在JDK和MyBatis源码中的运用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-09-09MyBatis的SQL执行结果和客户端执行结果不一致问题排查
本文主要介绍了MyBatis的SQL执行结果和客户端执行结果不一致问题排查,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-04-04解读springboot配置mybatis的sql执行超时时间(mysql)
这篇文章主要介绍了解读springboot配置mybatis的sql执行超时时间(mysql),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-01-01Logback 使用TurboFilter实现日志级别等内容的动态修改操作
这篇文章主要介绍了Logback 使用TurboFilter实现日志级别等内容的动态修改操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-08-08Spring之spring-context-indexer依赖详解
这篇文章主要介绍了Spring之spring-context-indexer依赖详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11
最新评论