当前位置: 首页 > news >正文

Mybatis和MybatisPlus的对比区分理解法

首先,我们需要承认的是MybatisPlus是Mybatis的进阶版本,在原有的基础上只做增强不做改变,这点从依赖传递的角度上去讲解,我们在pom文件中导入了MybatisPlus的依赖,就不需要引入Mybatis的依赖了。先让我们对这两者进行区分并理解。

Mybatis: 首先在Mapper定义一个Mapper接口,需要在上面添加一个@Mapper接口,声明当前是一个Mapper接口,并且,程序在运行的时候会自动创建这个Mapper接口的bean对象,交给IOC容器。Mybatis可以对于简单的增删查改进行操作只需要配合SQL语句和相对应的增删查改的注解进行使用,对用需要动态加载的SQL语句,或者不是固定死的语句涉及了逻辑,这个时候我们就需要

使用XML映射文件,简单阐述一下XML映射文件的要求:一同包同名:需要自己定义一个XML映射文件,且映射文件的包名和文件名都要和Mapper层的Mapper接口一致。Xml的namespace需要和Mapper的全类名一致,SQL语句的ID要和Mapper接口的方法一致。在动态的SQL语句中涉及了两个符号一个是#号一个$   ,#的作用是占位符,最后会编译生?,性能高能够防止SQL注入,而$

是字符串拼接符,需要注意的是#和$不能放在引号中,这样会识别成字符串不能够起到作用。需要放在{}里面,动态的常用SQL语句  <where> ,<set>,<foreach>,<if test ></if>,其中需要注意的是foreach的应用场景是批量操作,例如批量增加或者批量删除。最后卸载XML文件中的ResultType和ResultMap的区别在于ResultType适合封装简单对象,而ResultMap查询的结果是复杂的对象,进行手动封装。

MybatisPlus,适用于简单的单表操作的增删查改,里面有很多的方法,只需要在Mapper层继承BaseMapper<E>,就可以实现单表的操作,包括他也有自己的单表操作Service层的方法,需要在Service接口上继承IService接口,并且在Service的实现类中继承IServiceImpl接口,然后在实体类需要注意的是字段名和属性名要符合一致,或者属性名是驼峰命名这样可以进行匹配。用到的注解

@TableName    @TableId    @TableField (如果数据库中没有该属性的字段,需要exist=false),最后在使用条件构造器的时候,推荐使用LambdaQueryWrapper,因为使用了方法引用。

http://www.dtcms.com/a/324060.html

相关文章:

  • Linux入门指南:26个基础命令全解析
  • STM32F103芯片的启动过程
  • SAP学习笔记 - 开发57 - RAP开发 Managed App RAP action 之 Accept Travel 和 Reject Travel
  • 从色彩心理学看嵌入式设备UI设计:原则、挑战与实践
  • 数据结构:栈和队列(Stack Queue)基本概念与应用
  • SpringAi 通过大模型来实现调用自己的Api
  • 复现论文《基于深度强化学习的微能源网能量管理与优化策略研究》
  • 创建降阶模型用于搅拌槽中的涡流预测
  • nestjs官网推荐typeorm而不是prisma的原因
  • 第十六讲:AVL树和红黑树
  • MySQL的隔离级别及MVCC原理解析
  • AutoGPT与AgentGPT引领自动化革命
  • openresty-lua-redis案例
  • 无须炮解,打开即是Pro版
  • 商业银行元宇宙布局现状及未来图景三维思考
  • 基于BP神经网络PID控制的电机转速控制器设计复现
  • 使用tcp ntrip 协议 接收数据报错 java.net.SocketException: Connection reset
  • Shell脚本-变量的定义方式有哪些
  • TF-IDF提取关键词(附实战案例)
  • ​LabVIEW键盘鼠标监控
  • Python 2025:最新技术趋势与展望
  • [激光原理与应用-223]:机械 - 机加厂加工机械需要2D还是3D图?
  • 红楼梦文本数据分析
  • Fish shell的abbr命令行参数介绍和Bat文件查看工具
  • 诺基亚就4G/5G相关专利起诉吉利对中国汽车及蜂窝模组企业的影响
  • (一)Tailwindcss
  • 【开源】分层状态机(HFSM)解析:复杂逻辑的清晰表达与FPGA实现(附完整的Verilog交通灯案例及仿真)
  • Loki+Alloy+Grafana构建轻量级的日志分析系统
  • aurora接口ufc控流设计
  • Rust面试题及详细答案120道(11-18)-- 控制流与函数