mybatis-plus,sgg,杨bochao,p5完成

news2025/1/14 0:56:12

一 MyBatis-Plus简介

  1. 增强工具。只做增强不做改。
    1. 可以直接在mybatis的基础上整合mybatis-plus。此时并不会影响mybatis的功能,即mybatis原来的功能都在,该怎么用还怎么用。锦上添花的是还能使用mybatis-plus提供的:通用的mapper、通用的service、在不编写任何sql语句的基础上快速完成单表的CRUD、批量操作、逻辑删除、分页、优秀插件的使用、多数据源的配置等待功能。
  2. 框架结构
    1. 右半部分:mybatis-plus的组成部分,共同支持mybatis-plus的功能实现
      1. mybatis-plus-boot-starter:mybatis-plus本身的启动器
      2. annotation:注解部分
      3. extension:扩展部分
      4. core:核心部分
      5. generator:代码生成部分
    2. 左半部分:展示了mybatis-plus该如何来实现功能
      1. 第一步:Scan Entity:扫描实体类
        1. 在开发过程中,为什么不需要手写sql语句(mybatis需要)呢?因为mybaits-plus中sql语句都是动态生成的,所以第一步要扫描要操作的实体类(当前操作的表由实体类决定)。
      2. 第二步:Reflection extraction:反映技术
        1. 经过实体类的扫描以后,通过反映技术来抽取实体类中的属性。
      3. 第三步:Analysis Table Name Column
        1. 抽取出实体类中的属性以后,分析实体类和表之间的关系、分析实体类属性与表字段之间的关系。
      4. 第四步:SQL: Insert Update Delete Select:当前调用的CRUD方法
        1. 分析完成以后,根据当前我们调用的CRUD方法,生成相对应的sql语句。
          1. 调用的CRUD方法?因为mybatis-plus提供了通用的mapper、通用的service。
      5. 第五步:Injection Mybatis Container:sql语句注入到mybatis容器中,从而实现最终的功能。
  3. 入门案例
    1. 创建数据库入表
      1. id,主键,bigint(20)。因为在通过mybatis-plus进行数据插入的时候,它默认用雪花算法来生成id,这样一来id的长度会比较长,所以这里使用的是bigint而非int。

二 基本功能

1 通用mapper

2 通用service

3 常用注解

4 条件构造

5 通用枚举

三 插件

1 分页插件(内置)

2 乐观锁插件

四 mybatisX插件(idea快速开发插件)

五 多数据源

六 代码生成器(内置)

1 mybatis逆向工程

  1. 自动生成
    1. 实体类
    2. mapper接口
    3. 映射文件

2 mybatis-plus代码生成器

  1. 自动生成(各个组件)
    1. 控制层
    2. 业务层
    3. mapper接口
    4. 映射文件
    5. 实体类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

drone+github实现自动化部署

目录drone简介drone与jenkins对比创建oauth2服务器安装drone生成drone的共享密钥配置drone.yml文件安装drone项目配置配置Dockefile配置.drone.yml文件配置阿里云镜像拉取文件drone简介 drone与jenkins对比 创建oauth2 在github中设置第三方app配置。 需要记住id…

[附源码]Python计算机毕业设计Django车源后台管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

微信截图无法发送,也发不出电脑上的图片

微信截图无法发送,也发不出电脑上的图片 现象 今天微信突然出现这个问题,怎么改设置都调不好,卸载重装都不行,最后发现,微信的消息目录中,一些文件无法删除,提示“文件或目录损坏且无法读取”…

上市公司排污费2010-2020重污染行业环境披露水平-原始数据及计算结果

一、重污染行业环境信息披露水平 1、数据来源:见附件 2、时间跨度:2009-2020 3、区域范围:重污染行业的认定主要依据环境保护部2008年6月发布的《上市公司环保核查行业分类管理名录》(环办函[2008]373号)、《上市公…

PDF转TXT怎么转?看完这篇你就会了

我们在学习工作的时候,经常会使用PDF格式来传输文件,因为PDF具有较强的格式稳定性。可是有时候我们也需要将PDF转成TXT格式,因为有些电子书阅读器比较适合阅读TXT格式的文件。那你们知道PDF怎么转TXT吗?有需要转换PDF格式的小伙伴…

Apollo 应用与源码分析:Monitor监控-软件监控-进程存活监控-process_monitor

目录 流程 代码 分析 获取可以运行的进程的信息 检查HMI 的模块信息 检查被监控的组件 检查其他组件 判断进程状态UpdateStatus 流程 代码 class ProcessMonitor : public RecurrentRunner {public:ProcessMonitor();void RunOnce(const double current_time) overrid…

BUUCTF Misc 被劫持的神秘礼物 刷新过的图片 [BJDCTF2020]认真你就输了 [BJDCTF2020]藏藏藏

被劫持的神秘礼物 下载文件 提示让我们找账号密码 wireshark打开上述文件 可以发现一个POST请求登录接口的HTTP包,追踪http流 数据包中可以发现用户名:admina 密码:adminb 打开md5在线加密 得到flag flag{1d240aafe2…

第二证券|新能源优势突出 青海加速储能产业布局

大唐青海动力开发有限公司工作人员在青海省海南藏族自治州共和县塔拉滩光伏电站巡检。 无论是新动力场站直流侧的储能技能应用,还是同享储能形式试点,近年来,青海储能职业迎来跨越式展开新阶段。业内遍及看好未来储能展开,作为全…

多线程(2)

文章目录前言 :1.Thread类 :1.1 Thread类常见的构造方法1.2 Thread的几个常见属性1.3 中断一个线程1.4 等待一个线程-join()1.5 获取当前线程引用1.6 休眠当前线程2.线程状态前言 : 简单回顾上文知识点 上文我们了解了 线程是为解决并发编程引…

Linux网络编程——IO多路复用

文章目录1,I/O模型2,阻塞I/O 模式2.1,读阻塞(以read函数为例)2.2,写阻塞3,非阻塞I/O模式3.1,非阻塞I/O模式的实现(fcntl()函数、ioctl() 函数)3.1.1&#xff…

Apollo 应用与源码分析:Monitor监控-软件监控-channel时间延迟监控

目录 代码 分析 主要结构 判断逻辑 备注 代码 class ChannelMonitor : public RecurrentRunner {public:explicit ChannelMonitor(const std::shared_ptr<LatencyMonitor>& latency_monitor);void RunOnce(const double current_time) override;private:static …

有限元求解:结构应力法如何实现的网格不敏感呢?

作者&#xff1a;云兵老师&#xff0c;仿真秀专栏作者 一、导读 本人从大一时&#xff0c;上第一节力学课就开始接触有限元&#xff0c;那个时候老师曾说&#xff1a;“学会我讲的这门有限元&#xff0c;我可以保证你在毕业时候一定找到工作”。那个时候有限元很火&#xff0…

基于ANSYS Polyflow的逆向挤出模头设计攻略

摘要&#xff1a;内侧灯罩属于复杂截面塑料异型材&#xff0c;目前其挤出模头的设计主要依赖于经验&#xff0c;需要反复试模和修模&#xff0c;使得模具质量难以保证&#xff0c;生产周期长&#xff0c;成本高。 本文采用数值模拟方法对内侧灯罩进行了反向挤出模头设计。首先…

若依框架前后端打包到linux部署,踩坑

前后端分离版下载地址 https://gitee.com/y_project/RuoYi-Vue 打开前端项目 打开readme 初始化依赖 npm install --registryhttps://registry.npmmirror.com启动项目 npm run dev路由模式修改为hash 否则打包后请求路径会和后端冲突 src/router/index.jsexport default ne…

省 市 县 三级联动

大纲 一、导入省市县数据表(t_region) 二、引入jar包 三、导入所需util类&#xff08;整体框架&#xff09; 四、编写代码 1、配置数据库相关信息(数据库名、用户名、密码) config.propreties #oracle9i #driveroracle.jdbc.driver.OracleDriver #urljdbc:oracle:thin:loca…

Linux下redis安装教程

redis安装教程 首先需要安装gcc依赖 yum install -y gcc tcl注&#xff1a;这里如果安装失败可以百度解决 进入/usr/local/src目录&#xff0c;将下载的安装包放在该目录 cd /usr/local/src解压该目录 tar -zxvf redis-6.2.6.tar.gz解压后src下面多了一个redis-6.2.6 进入…

Redis 为什么这么快,你知道 I/O 多路复用吗?

今天我们讨论一下面试高频题&#xff0c;为什么 Redis 那么快&#xff1f; 首先&#xff0c;你可以先想一下答案&#xff0c;我先说下大家普遍的答案&#xff1a; 单线程基于内存操作&#xff0c;速度快I/O 多路复用 相信很多人第一时间回答出来上面这些&#xff0c;那么面试官…

从开发角度读懂公司卫生间一直有人窜稀的原理

不知道你有没有这样的经历&#xff0c;一直忙忙碌碌&#xff0c;需求不断&#xff0c;当你终于解决完手头的事情&#xff0c;突然特别着急想要去卫生间的时候&#xff0c;仅有的几个门总是关着的&#xff0c;于是怀疑&#xff0c;可能其他人更需要这次机会&#xff0c;他们也一…

最基础的协同过滤介绍

文章目录1.到底什么是协同过滤2.协同过滤的一般步骤3.基于用户的CF (User-CF)3.1 基本介绍3.2 用户相似度3.2.1 用户相似度基本介绍3.2.2 用户相似度改进&#xff1a;ICU3.3 User-CF的缺点4.基于项目的CF (Item-CF)4.1 基本介绍4.2 用户相似度4.2.1 用户相似度基本介绍4.2.2 用…

xss-labs/level6

我们输入平常的payload如下 <script>alert(xss)</script> 界面回显如下 源代码如下所示 可以发现后台服务器对特殊字符进行插入操作 我们寄希望于后台不要插入下划线到onxxx关键字中 所以构造如下 " onclickjavascript:alert(xss)>// 由于界面没有回…