文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java MyBatis之Mapper代理详解

2023-05-16 11:52

关注

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代理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯