使用 Mapper 代理开发方式完成入门案例

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

      (企业开发中,通常是将配置文件统一放到 resource 文件夹中,其编译完成后配置信息文件与com同目录)

      创建同名的Mapper接口 interface

      

      

      

      

      

      注意目录的创建方式中分层符号不再是 点 .  而是 斜杠 /

      如果写成com.cqupt.mapper 其会创建一个名为此的文件夹 不会分层

               

      将UserMapper.xml 移动进去

      

      再次编译

      

      这样就完成了在idea中配置信息文件仍在resource文件夹中 但编译后在同一目录下

      

   

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

      

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

      

      在 UserMapper 接口中定义此方法

      

      SQL映射文件路径更改了,mybatis-config.xml 配置文件中有加载SQL映射文件的部分,也需要改成现在的路径

      

      找到SQL映射文件路径

      

      

      --------关于sql映射文件的加载路径 若满足:(使用Mapper代理开发方式)

          Mapper接口名称和SQL映射文件名称相同

          编译后SQL映射文件与Mapper接口同目录

        ----可以使用包扫描方式简化SQL映射文件的加载

        <!-- Mapper代理开发方式-->
<package name="com.cqupt.mapper"/>

            

  4、编码

    复制之前的MyBatisDemo

    

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

// 3.1 获取UserMapper接口代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

      

    (2)调用对应方法完成SQL的执行

        // 3.2 调用对应的方法执行sql
List<User> users = userMapper.selectAll();

    

    运行结果与之前相同:

      

MyBatis——使用Mapper代理开发的更多相关文章

  1. Mybatis的mapper代理开发方法

    一.开发规范 1.映射文件中的namespase等于mapper接口类路径 2.statement的id与mapper中的方法名一致 3.让mapper的接口方法输入参数类型与statement中的p ...

  2. Mybatis的mapper代理开发dao方法

    看完了之前的mybatis原始的dao开发方法是不是觉得有点笨重,甚至说没有发挥mybatis 作为一个框架的优势.总结了一下,原始的dao方法有以下几点不足之处 dao接口实现方法中存在大量的模板方 ...

  3. mybatis入门基础(二)----原始dao的开发和mapper代理开发

    承接上一篇 mybatis入门基础(一) 看过上一篇的朋友,肯定可以看出,里面的MybatisService中存在大量的重复代码,看起来不是很清楚,但第一次那样写,是为了解mybatis的执行步骤,先 ...

  4. Spring+SpringMVC+MyBatis深入学习及搭建(二)——MyBatis原始Dao开发和mapper代理开发

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6869133.html 前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(一)——My ...

  5. 【mybatis深度历险系列】深入浅出mybatis中原始dao的开发和mapper代理开发

    使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法.mybatis在进行dao开发的时候,涉及到三姐妹,分别是SqlSessionFactoryBuilder ...

  6. Mybatis学习总结(二)——Mapper代理开发

    一.概要 1.原始DAO开发中存在的问题:(1)DAO实现方法体中存在很多过程性代码.(2)调用SqlSession的方法(select/insert/update)需要指定Statement的id, ...

  7. 【转】Mybatis学习---MyBatis知识、原始Dao开发和mapper代理开发

    [原文]https://www.toutiao.com/i6594610137560777223/ 一.什么是MyBatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及 ...

  8. mybatis 学习笔记(三):mapper 代理开发 dao 层

    mybatis 学习笔记(三):mapper 代理开发 dao 层 优势 通过使用mapper 代理,我们可以不需要去编写具体的实现类(使用 getMapper() 方法自动生成),只需编写接口即可, ...

  9. Javaweb知识复习--MyBatis+Mapper代理开发

    一种持久层框架,主要用于简化JDBC MyBatis应用步骤 1.在数据库里面创建一个表 2.创建模块,导入坐标 就是新建一个Maven项目,在pom.xml里面导入mybatis相应导包依赖代码: ...

  10. Mybatis 和Spring整合之mapper代理开发

    F:\1ziliao\mybatis\代码 1.1 SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8&quo ...

随机推荐

  1. oeasy教您玩转vim - 80 - # 宏macro

    ​ 宏 macro 回忆 这次我们了解了编码格式 屏幕显示的encoding 文件保存的fileencoding 不能搞乱了 一般用什么编的就用什么解 解铃还须系铃人 打开不正确的话,就要切到正确的上 ...

  2. Kubernetes 部署Dashboard UI

    实践环境 CentOS-7-x86_64-DVD-1810 Docker 19.03.9 Kubernetes version: v1.20.5 发布Dashboard 可以通过运行以下命令部署Das ...

  3. 题解:P7482 不条理狂诗曲

    题解:P7482 不条理狂诗曲 本题解借鉴 blossom_j 大佬思路,但这位大佬的题解似乎没放正确代码. 题意 对于每一个 \(a\) 的子区间 \(a_{l\dots r}\),求选择若干个不连 ...

  4. 基于vue.js 移动可视化,拖拽生成H5系统

    效果预览 功能简介 基于Vue.js(2.0)版本开发的,通过拖拽可视化的操作,生成H5的页面,类似易企秀的工具,前端展示页面运用了之前发布的 vue-animate-fullpage 插件进行动画渲 ...

  5. docker 安装 centos8 mysql8 java tomcat

    docker 安装 centos8  mysql8  java tomcat 一,首先在window10系统安装docker,这里就不再描述了. 二,启动docker下载安装centos8镜像 注意: ...

  6. 【RabbitMQ】06 Spring整合RabbitMQ

    首先生产者和消费者需要的Maven依赖是一样的 <?xml version="1.0" encoding="UTF-8"?> <project ...

  7. 程序员学习网站推荐:路线向导(roadmap.sh)

    网站地址: https://roadmap.sh/ 在外网的技术论坛上看到这个网站,上面给出多种编程语言的学习路线,也就是给出不同编程语言的从易到难的组成内容(语言特性),通过这个网站可以辅助学习编程 ...

  8. WhaleStudio 2.6重磅发布!调度模块WhaleScheduler更新78项核心功能

    我们很高兴地宣布WhaleStudio 2.6版本的正式发布!新版本中包含了数据调度模块WhaleScheduler和数据集成模块WhaleTunnel的百余项核心功能更新,本文摘选了WhaleSch ...

  9. 大模型时代的程序员:不会用AIGC编程,未来5年将被淘汰?

    作者 | 郭炜 策划 | 凌敏 前言 下面是一段利用 Co-Pilot 辅助开发的小视频,这是 Apache SeaTunnel 开发者日常开发流程中的一小部分.如果你还没有用过 Co-Pilot.C ...

  10. Jenkins配置分布式构建环境——添加固定Agent并使用JNLP启动Agent详解

    1.概述 在<Jenkins部署架构概述>这篇博文中对Jenkins部署架构进行了讲解.对于分布式架构,Jenkins包括固态Agent和动态Agent两种方案. 固定Agent(常用于虚 ...