不特意写格式了 免得多花时间
项目简介:全后端分离项目 在线教育业务 官网+后台
功能模块:

技术栈:

MyBatis-Plus的主键生成策略:
参考链接:https://www.cnblogs.com/haoxinyue/p/5208136.html

  • ID-WOKER
    全局唯一ID,是MyBatis-Plus默认的主键策略。
    随机生成一个Long类型的19位随机纯数字作为主键。(看弹幕说是雪花算法实现的)

  • AUTO 自动增长
  • ID_WORKER 雪花算法 产生19位纯数字随机数作为主键(适合Long类型主键)
  • ID_WORKER_STR 字符串类型随机值作为主键(适合String类型主键)
  • INPUT 需要手动设置主键值
  • NONE 不用任何策略(手动)
  • UUID 随机生成UUID作为主键

MyBatis-Plus设置主键生成策略:
单个实体类设置主键生成策略:
在实体类的主键的属性值上面增加@TableId注解,通过type指定

@TableId(type = IdType.AUTO)
private Lond id;

全局设置主键生成策略:
在配置文件中添加:

mybatis-plus.global-config.db-config.id-type=auto

乐观锁:

cas比较并交换
解决aba问题

在开发环境、测试环境开启性能分析插件:

    @Bean@Profile({"dev","test"})public PerformanceInterceptor performanceInterceptor(){PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();performanceInterceptor.setMaxTime(100);performanceInterceptor.setFormat(true);return performanceInterceptor;}

在配置文件中配置环境

spring:profiles:active: dev

构建组合条件查询:
Wrapper类结构:

  • Wrapper:条件构造抽象类,最顶端父类

    • AbstractWrapper:用于查询条件封装,生成sql的where条件

      • QueryWrapper:Entity对象封装操作类,不是用lambda语法
      • UpdateWrapper:Update条件封装,用于Entity对象更新操作
    • AbstractLambdaWwrapper:Lambda语法使用Wwrapper统一处理解析lambda获取column
      • LambdaQueryWrapper:用于Lambda语法使用的查询Wrapper
      • LambdaUpdateWrapper:Lambda更新封装Wrapper

wrapper拼接条件:

  • ge : 大于等于 >=
  • gt:大于 >
  • le:小于等于 <=
  • lt:小于 <
  • eq:等于 =
  • ne:不等于 != <>
  • like:模糊查询 前后自动拼接% 可用likeRight
  • orderByDesc/Asc:排序倒序/顺序
  • last:在sql语句最后拼接
  • between:范围内
  • select:指定要查询的列

创建项目结构:

  • 父工程:
    打包类型 pom
    管理依赖版本和存放公共依赖

    • 子模块
    • 子模块
      • 子子模块

尚硅谷的谷粒学院在线教育项目笔记相关推荐

  1. 在线教育项目02_前端知识(es6、vue)

    在线教育项目02_讲师管理模块 一.统一异常处理的另外两种情况 1.1 特殊异常(特定异常处理) 1.2 自定义异常处理 二.统一日志处理 1.Logback日志工具 三.ECMAScript 6.0 ...

  2. 黑马在线教育项目---5、使用填充器创建数据库数据

    黑马在线教育项目---5.使用填充器创建数据库数据 一.总结 一句话总结: ①创建填充器文件:#php artisan make:seeder ManagerTableSeeder ③执行填充器文件: ...

  3. 黑马在线教育项目---15-16、datatables插件

    黑马在线教育项目---15-16.datatables插件 一.总结 一句话总结: datatables插件也比较好用,引入好插件的js和css后,核心代码也就是插件的初始化,如果要修改配置可以百度 ...

  4. 在线教育项目_整体介绍

    在线教育项目_整体介绍 一.项目的背景 二.商业模式 2.1 B2C(该项目的模式) 2.2 B2B2C(商家到商家到用户) 3.功能模块 3.1 系统后台 3.2 系统前台 4.项目使用到的技术 4 ...

  5. (在线教育)项目总结

    一.在线教育项目功能点(B2C) 1.后台管理系统 1.登录功能(SpringSecurity框架) 2.权限管理功能 (1)菜单管理 列表.添加.修改.删除 (2)角色管理 * 列表.添加.修改.删 ...

  6. 在线教育项目04_讲师管理前端开发

    在线教育项目04_讲师管理前端开发 一.登录功能(临时) 跨域问题 框架使用的过程 二.前端讲师开发 1.讲师列表 2.讲师列表添加分页 3.讲师列表条件查询实现 4.讲师列表删除功能 5.讲师列表删 ...

  7. 在线教育业务笔记03

    在线教育业务笔记03- 讲师banner(轮播图)管理模块 一.新建banner微服务 1.在service模块下创建子模块service-cms 2.使用代码生成器生成banner代码 2.1.sq ...

  8. MySQL学习笔记——尚硅谷李玉婷经典版MySQL基础笔记(一)

    MySQL学习笔记--尚硅谷李玉婷经典版MySQL基础笔记(一) MySQL学习笔记目录 MySQL学习笔记--尚硅谷李玉婷经典版MySQL基础笔记(一) 一.基础知识 1.MySQL的语法规范 2. ...

  9. (尚硅谷java零基础教程)学习笔记day7/8-数组

    1.数组的概述 1.1 定义 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理. 1.2 数组的相关概念 数组名 元素 数组的索引 ...

最新文章

  1. 0909 编译原理1
  2. GP TEE_ObjectInfo结构体在不同的版本之间的变化
  3. 2015年4月8日主从不同步故障解决(字符集导致)
  4. 第10章:项目沟通管理和干系人管理-章节重点
  5. Python3之configparser模块
  6. 前端面试题目汇总摘录(JS 基础篇)
  7. 清华新生C++作业难上热搜!大厂猎头表示做上了直接给offer
  8. adb 查看屏幕大小_蚂蚁森林自动收取能量、偷取能量、浇水(使用adb、python)...
  9. ACM 竞赛高校联盟 练习赛 第六场 韩梅梅的抽象画(图论水题)
  10. Window下本地redis的安装、配置以及java版试用
  11. php部分---注册审核
  12. linux 基础知识考试试题,Linux常识型试题
  13. table2excel 导出表格有边框,文字居中
  14. modbus模拟器基本使用
  15. lightGBM简述
  16. html中怎么让text不换行,css如何让文本不换行?
  17. Ubuntu20.04之IDEA安装及idea项目运行演示,手把手教学|超级详细,建议收藏
  18. 谷歌 console_使用Google Search Console有效增加网站流量的15条提示
  19. Centos7.4配置与管理DNS服务器
  20. live2d_【内有礼包】七罪看板Live 2D公开,天使的面容,魔鬼的身材~

热门文章

  1. 如何将PDF文件转换CAD格式?
  2. python批量替换word文字
  3. 还不错的全民采矿小程序源码+代码已开源
  4. 《第三次全国国土调查成果国家级核查方案》印发
  5. 智慧泊车建设方案 PPT
  6. DB2进行压缩的最佳实践
  7. 基于 Amazon CodeCommit 可规模化的敏捷开发实践
  8. 【Latex】伪代码及字体大小
  9. android 基于高德地图的轨迹回放
  10. 网络显示连接,但是无法打开网页的解决方法