0


【java web篇】MyBatis之Mapper代理

📋 个人简介

  • 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜
  • 📝 个人主页:馆主阿牛🔥
  • 🎉 支持我:点赞👍+收藏⭐️+留言📝
  • 📣 系列专栏:java 小白到高手的蜕变🍁
  • 💬格言:要成为光,因为有怕黑的人!🔥请添加图片描述

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映射文件!

在这里插入图片描述

publicclassMyBatisDemo2{publicstaticvoidmain(String[] args)throws IOException {//1. 加载mybatis的核心配置文件,获取 SqlSessionFactory
        String resource ="mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory =newSqlSessionFactoryBuilder().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();}}

在这里插入图片描述

结语

如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。

🏰系列专栏
👉flask框架入门到实战
👉软磨 css
👉硬泡 javascript

标签: mybatis java

本文转载自: https://blog.csdn.net/qq_57421630/article/details/130044884
版权归原作者 馆主阿牛 所有, 如有侵权,请联系我们删除。

“【java web篇】MyBatis之Mapper代理”的评论:

还没有评论