目录

1、映射器是什么?

2、自定义sql和使用的分类

2、1 根据定义sql的两种方式分类

2、2 根据使用方式分类


mybatis在实际使用时,最主要的还是映射器。这一篇大体介绍一下映射器,但是有个问题,这篇文章全是我自己对应映射器的理解,因为根据现有的资料(基本上都是复制粘贴同样的内容)去理解,我理解不了,然后就根据官网去理解,所以有了下边这些叙述,这些描述和其他的文章中的描述还是有挺多不同的,我也没有底儿到底理解的是对还是错,希望看完文章的同学能留个言 描述一下自己的看法。

1、映射器是什么?

mybatis的映射器究竟是什么呢?这个官网没有给予明确的概念,不过可以尝试从另一个角度去理解,之前说过mybatis是一个半自动的ORM框架,因为需要开发者自己去定义sql语句,自己去设置请求参数和结果集类型,但是mybatis却可以将数据在java类型与数据库之间转换,这就是映射器的功劳。基于此,以自己的理解,mybatis的映射器应该包含两部分:开发者自定义的sql和mybatis提供的自动映射的机制。

2、自定义sql和使用的分类

这个也就是常说的映射器类型,因为我觉得说映射器类型不太准确,因为映射器是一个整体的工具,而非一部分,所以才有了上边的目录,这里主要说的是定义和使用的不同方式,具体如下:

2、1 根据定义sql的两种方式分类

1)使用sql映射文件,将sql定义在xml文件中

 2)将sql通过注解的方式直接定义在java代码中

2、2 根据使用方式分类

1)直接通过sqlSession调用xml文件中的sql

2)将sql映射文件和一个接口绑定,之后使用时直接调用接口即可,这种比较常用,它是通过生成代理对象的方式来进行具体的数据处理,java代码和sql分离,耦合度较低,在使用时可以实现面向接口编程,使用方便。这种使用方式需要注意sql映射文件中的命名空间必须是对应接口的全路径限定名

3)不使用sql映射文件,直接使用注解将sql定义在java类中,需要定义接口,在接口中对应方法上定义对应的sql,这种的原理和第2中相同,只不过比较适用于sql简单的情况,且耦合度较高

以上就是对映射器的理解,期望读过这篇文章的同学留言自己的看法,一起交流一下。

5、mybatis中的映射器相关推荐

  1. MyBatis学习之映射器Mapper(接口映射器+xml映射文件)

    Table of Contents 01 MyBatis映射器: 1.1 接口映射器+xml映射器 1.2 接口映射器+注解 02 接口映射器+xml映射器  方式 2.1 mybatis配置文件 引 ...

  2. mybatis的mapper.xml文件中含有中文注释时运行出错,mybatis配置优化和别名优化 mybatis配置之映射器说明

    记录一个发现的小问题,刚刚在UserMapper.xml文件中有一段中文注释掉的内容: <!-- <resultMap id="Usermap" type=" ...

  3. 深入浅出MyBatis:「映射器」全了解

    本篇文章是「深入浅出MyBatis:技术原理与实践」书籍的总结笔记. 上一篇总结了MyBatis的配置,详细说明了各个配置项,其中提到了映射器,它是MyBatis最强大的工具,也是使用最多的工具. 通 ...

  4. SSM-SpringMVC-07:SpringMVC中处理器映射器

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping BeanN ...

  5. mybatis collection标签_一对多的关系,在MyBatis中如何映射?

    # 使用collection标签 需求:根据用户id查询用户信息的同时获取用户拥有的角色,一个用户可以拥有1个或多个角色. 一般情况下,不建议直接修改数据库表对应的实体类. 所以这里我们延用之前博客中 ...

  6. 关于QtCharts中的映射器与模型的使用

    简述 本文章基于博主在使用QtCharts中一些经验总结,相关了Qt类有QVXYModelMapper,CustomTableModel(一个继承了QAbstractTableModel的类,用于实现 ...

  7. Mybatis中输入输出映射和动态Sql

    一.输入映射 我们通过配置parameterType的值来指定输入参数的类型,这些类型可以是简单数据类型.POJO.HashMap等数据类型 1.简单类型 2.POJO包装类型 ①这是单表查询的时候传 ...

  8. Mybatis中Mapper映射文件详解(默认值)

    Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd.我们先大体上看看支持哪些配置?如下所示,从Eclipse里截了个屏: 从上图可以看出, ...

  9. MyBatis中SqlSessionFactory和SqlSession简解

    mybatis官网中文文档:https://mybatis.org/mybatis-3/zh/sqlmap-xml.html mybatis-spring官方中文文档:https://mybatis. ...

最新文章

  1. 对于非阻塞socket的可写事件
  2. Docker容器的启动过程(七)
  3. git怎么上传文件到别人的仓库_Git将本地代码上传至远程仓库
  4. Nginx七层负载均衡配置
  5. Linux系统用户账号的管理技巧
  6. qt 控件坐标系_Qt中,如何找准控件坐标
  7. EEGLAB如何进行ERPs数据处理你都会了吗?看这里保证你一劳永逸的get ERPs数据处理技能
  8. 图像处理2:二维图像的频谱图理解
  9. 思维导图的三招十八式
  10. Java后端技术面试汇总(第一套)
  11. matlab基础知识与简单操作
  12. 2019年信息安全工程师上午真题及答案解析
  13. re.findall 用法
  14. linux内存双通道,两根内存就是双通道?太年轻
  15. 关于植物大战僵尸如何更改关卡与金币
  16. 基于 OTA 场景的电控信息安全研究
  17. List转Map思想的妙用
  18. PCB制板流程及工艺
  19. Spring MVC参数处理--gzip和deflate的几点区别
  20. Oracle CX云位居Forrester领导者象限第一

热门文章

  1. mysql 操作类 C .net_.NET MYSQL数据库操作基类( C#源码)
  2. 数据库年月日时分秒_数据库基本使用系列(二)
  3. react全局状态管理_rxv: 在React中用Vue3的reactivity包实现状态管理。
  4. mysql 左连接 怎么走索引_数据库索引、左连接、右连接、等值连接
  5. python小游戏——21点
  6. mysql脚本的制作_制作脚本实现mysql自动备份
  7. [Java基础]ListIterator
  8. alibaba实习生代码大赛
  9. 数据结构与算法-- 二叉树后续遍历序列校验
  10. mysql边备份边导入么_MySQL 怎么导入导出操作