首页 > 其他分享 >聚合支付项目-06

聚合支付项目-06

时间:2023-12-10 16:02:37浏览次数:34  
标签:Mapper 插件 聚合 CRUD 支持 Plus 支付 Mybatis 06

Mybatis-Plus

课程目标:

  • 了解Mybatis-Plus
  • 整合Mybatis-Plus
  • 通用CRUD
  • Mybatis-Plus的配置
  • 条件构造器
  • Mybatis-Plus 的Service封装
  • 代码生成器

1 Mybatis-Plus介绍

1.1 Mybatis-Plus介绍

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发 提高效率而生。该框架由baomidou(苞米豆)组织开发并且开源的。

官网 :https://mp.baomidou.com/

github地址: https://github.com/baomidou/mybatis-plus

码云地址:https://gitee.com/baomidou/mybatis-plus

我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P 2P,基友搭配,效率翻倍。

1.2 支持的数据库

MyBatisPlus支持如下数据库:

mysql mariadb oracle db2 h2 hsql sqlite postgresql sqlserver

达梦数据库 虚谷数据库 人大金仓数据库

1.3 特性

无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑

损耗小:启动即会自动注入基本 CRUD,性能基本无损耗,直接面向对象操作

强大的 CRUD 操作:内置通用 Mapper 通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作, 更有强大的条件构造器,满足各类使用需求

支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错

支持多种数据库:支持 MySQL MariaDB Oracle DB2 H2 HSQL SQLite Postgre SQLServer2005 SQLServer等多种数据库

支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题1

支持 XML 热加载:Mapper 对应的 XML 支持热加载,对于简单的 CRUD 操作,甚至可以无 XML 启动

支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD操作

支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )

支持关键词自动转义:支持数据库关键词(order key......)自动转义,还可自定义关键词

内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper Model Service Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用

内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通List 查询

内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询

内置全局拦截插件:提供全表 delete update 操作智能分析阻断,也可自定义拦截规则,预防误操作

内置Sql 注入剥离器:支持 Sql 注入剥离,有效预防 Sql 注入

1.4 架构

Mybatis主要包含以下模块:

核心功能(core),基于Mybatis的封装,提供了Mybatis Plus的基础配置类与核心功能,如内置通用 Mapper,Lambda 表达式查询等。

注解(annotation),提供了Mybatis Plus中注解的定义。

扩展功能(extension),提供扩展及插件功能,包括分页插件 通用 Service扩展 性能分析插件等。

代码生成器(generator):通过代码生成器可以快速生成 Mapper接口 Entity实体类 Mapper XML Service Controller 等各个模块的代码,极大的提升了开发效率。

执行流程:

(1)扫描注解Entity,反射提取注解信息如:表名称 字段名称等信息。

(2)分析注解信息并基于com.baomidou.mybatisplus.core.enums的SQL模板生成基本CRUD SQL。

(3)最后将这些SQL注入到Mybatis环境中。

因此Mybatis plus无需编写CRUD SQL语句,只需继承BaseMapper,魔术般的拥有了CRUD功能(通用CRUD)。

标签:Mapper,插件,聚合,CRUD,支持,Plus,支付,Mybatis,06
From: https://blog.51cto.com/u_16228353/8761506

相关文章

  • 读程序员的README笔记06_测试(上)
    1. 行为准则2. 编写、运行和修复测试用例会让人感觉很忙碌2.1. 测试本身才更容易成为繁忙的工作2.2. 糟糕的测试会增加开发人员的开销而不提供价值,并且还会增加测试套件的不稳定性3. 测试用途3.1. 测试可以检查代码是否正常工作3.1.1. 测试本身就可以验证软件的行......
  • 聚合支付项目-05
    4基础技术栈总结Nacos用来干什么?Nacos是阿里巴巴公司开源的项目,它用来实现配置中心和服务注册中心。什么是服务发现?在微服务架构中一个业务流程需要多个微服务通过网络接口调用完成业务处理,服务消费方从服务注册中心获取服务提供方的地址,从而进行远程调用,这个过程叫做服务发现。......
  • odoo17.0 微信支付 支付宝 顺丰速递 圆通速递
    随着odoo17.0的发布,新代码的架构变动,导致之前的一些模块已经不能使用,因此,我们集中把常用的这几个模块率先进行了升级。本次发布的新模块有:微信支付支付宝支付顺丰速递圆通速递微信支付和支付宝支付我们在安装了在线商城模块之后,在设置-支付提供商中就可以看到微信支付/支......
  • 红米K70E支付宝无指纹支付选项的解决方法
    红米K70E这台手机,支付宝里无指纹支付选项,百度了一下,也没结果。自己摸索了下,终于折腾出了指纹支付。 解决方法:在手机-设置-指纹、面部与密码-指纹解锁-指纹支付-支付宝-更新证书。杀掉支付宝APP,重进支付宝。  OK ......
  • day06 谷歌pixel刷机
    一.谷歌Pixel相关-刷机线上文档:https://zhuanlan.zhihu.com/p/598414059Pixel手机相关内容:刷机,官方包。ROOT集成charles证书本节手把手带大家完成对自己新买的Piexl手机进行刷机(Pixel所有机型通用)。刷机的意义:以后手机系统出问题,可以自如的重新刷自己喜欢的安卓系统(安......
  • 06_实验六_读文件和写文件
    读文件和写文件实验目的了解在EOS应用程序中读文件和写文件的基本方法。通过为FAT12文件系统添加写文件功能,加深对FAT12文件系统和磁盘存储器管理原理的理解。文件系统驱动程序的作用用户对文件的读写请求转换为对磁盘扇区的读写请求,并负责对磁盘扇区进行管理。实验内容......
  • CW初中-C106D
    稍微重复一下题意,有\(n\)个数\(a_i\),将其以一种顺序串联成一个“大数”,使这个数对\(11\)取模的结果为\(0\),求一共有多少个不同的顺序?方案数对\(998244353\)取模。另外,相同的数若在\(a\)数组中多次出现,则视为不同的数。\(0\leqa_i\leq10^9,0<n\leq2000\)首先......
  • 「杂题乱刷」洛谷P1064
    题目传送门一道算是dp的板子题了。题意大概就是01背包+捆绑。首先回顾一下01背包,一个比较基础的dp题,状态转移方程也很好想,是\(dp[i][j]=\max(dp[i][j],dp[i-1][j-w[i]]+v[i])\)。代码实现如下:点击查看代码#include<bits/stdc++.h>usingnamespacestd;longlo......
  • [ARC106E] Medals 题解
    题目链接题目链接题目解法感觉不难啊,怎么想到网络流和\(hall\)定理后面就屁都没想到呢首先一眼网络流先二分答案考虑一个朴素的建图方法是:把每个人拆成\(k\)个点,然后往在的天连边,跑最大流,满流即合法可以发现,跑网络流对这道题还说没有必要,因为只要判是否有完美匹配不难......
  • 【2023-12-06】接受就好
    20:00没有一天不写一点,每天写作、读书、工作与练习,坚持不懈的精神将使我有一场好的收获。                                                 ——梵高近期,何太加班挺多......