- 博客(190)
- 收藏
- 关注
原创 标签接口开发(富含完整CRUD开发流程)
然后将这两个脚本里的 $velocityHasNext 替换成 $foreach.hasNext,然后保存设置。之后新生成的mapper.xml里就不会出现没有逗号间隔的问题了。2、Global Config下的 mybatisSupport.vm脚本。1、Template下的 mapper.xml.vm脚本。
2024-06-26 22:21:29
2076
15
原创 分类接口开发
2.sun-club-domain 领域层1.SubjectCategoryDomainService.java2.SubjectCategoryConverter.java3.SubjectCategoryDomainServiceImpl.java3.sun-club-infra 基础设施层1.service1.SubjectCategoryService.java2.SubjectCategoryServiceImpl.java2.mapper1.SubjectCatego
2024-06-23 22:11:06
1005
原创 社区项目-项目介绍&环境搭建
文章目录1.技术选型2.原型设计1.安装AxureRP2.进行汉化3.载入元件库4.基本设计3.元数建模1.安装元数建模软件2.新建项目3.新增一个刷题模块主题域4.新增数据表 subject_category5.新增关系图,将表拖过来6.新增题目标签表7.新增题目信息表8.新增单选表、多选表、判断题、简答题9.新增分类、标签、题目关联表10.关系图预览4.项目架构分析1.现有的架构2.ddd架构5.mysql采用docker版的主从复制(之前配置过)1.docker的启动命令2.IDEA测试连接3.主My
2024-06-21 22:52:48
1700
4
原创 函数式编程基本语法
***/// 参数和返回值需要与函数对象一致// 在编译时检查是否函数式接口有且只有一个抽象方法/**Stream . of(new Student("libai" , "男") , new Student("dufu" , "男") , new Student("lishimin" , "女")) . forEach(student -> {// 挑选出所有的男的 System . out . println(student);});return sex;
2024-06-17 22:21:57
608
3
原创 模板方法模式和命令模式
*** Description: 模板类*/// 模板方法写成final,不被子类覆盖// 定义步骤// 交给子类去挑选材料select();// 添加材料和打碎豆子add();beat();// 选择材料,是抽象方法,具体加什么材料由子类对象指定// 添加材料System.out.println("添加豆子");// 打碎豆子System.out.println("放到豆浆机去打碎");
2024-06-16 22:00:56
818
原创 享元和代理模式
*** Description: 抽象的网站*//*** Description: 接口*//*** Description: 被代理的接口*//*** Description: 被代理的类*/System.out.println(name + "老师授课中,使用的是cglib代理,不需要实现接口");
2024-06-15 21:49:19
736
原创 组合和外观模式
*** Description: 总体抽象类,也可以是具体类,也可以是接口*/return des;// 方法默认实现,因为叶子节点不需要重写这些方法// 方法默认实现,因为叶子节点不需要重写这些方法// 打印方法三个子类都需要实现/*** Description: 一个播放器*/// 使用饿汉式的单例模式// 一些方法。
2024-06-14 20:58:38
1418
14
原创 适配器模式和装饰器模式
*** Description: 被适配者*/System.out.println("电压输出为" + src + "伏");return src;/*** Description: 适配器*/// 使用构造器聚合被适配的对象@Override// 将220V的电压适配到5V= null) {/*** Description: 一个接口有四个方法,但是普通的类不想全部实现*//*** Description: 被适配者*/
2024-06-11 21:43:38
1188
2
原创 设计模式-建造者模式
*** Description: 抽象的建造房屋的类*/// 打地基// 砌墙// 封顶// 造房子roofed();/*** Description: 产品*/
2024-06-10 22:16:25
725
原创 四种跨域解决方案
import org/*** Description: 全局跨域配置*/ // 全局跨域配置 @Configuration public class CorsConfig {// 创建跨域配置,添加 CORS 配置信息 final CorsConfiguration corsConfiguration = new CorsConfiguration();
2024-06-08 22:38:08
1882
7
原创 秒杀优化+秒杀安全
Data;/*** Description: 秒杀消息/*** Description: 限流注解*/ @Retention(RetentionPolicy . RUNTIME) // 运行时生效 @Target(ElementType . METHOD) // 作用在方法上 public @interface AccessLimit {// 时间范围 int maxCount();
2024-06-07 22:39:27
1161
原创 统一响应,自定义校验器,自定义异常,统一异常处理器
Getter;ToString;/*** Description: 响应枚举类*/@Getter@ToString// 通用ERROR(500, "服务端异常"),//登录模块LOGIN_ERROR(500210, "用户名或者密码错误"),MOBILE_ERROR(500211, "手机号码格式不正确"),BING_ERROR(500212, "参数绑定异常"),MOBILE_NOT_EXIST(500213, "手机号码不存在"),
2024-06-05 22:08:41
1643
6
原创 Redis页面优化
在校验用户是否登录时,会根据cookie在Redis中查询用户信息,但是如果在DB中的用户信息更改了,那么就会发生数据不一致的问题。
2024-06-04 21:46:04
904
1
原创 秒杀基本功能开发(不考虑高并发情况)
文章目录1.显示秒杀状态1.controller修改GoodsController.java的toDetail方法,响应秒杀状态和秒杀剩余时间2.前端1.goodsDetail.html 图片下面添加一行秒杀开始时间2.goodsDetail.html 添加计时器js代码3.测试1.秒杀进行中2.修改db的秒杀开始时间为明天3.出现秒杀倒计时4.修改db的秒杀结束时间比目前要早5.秒杀已结束2.秒杀按钮1.前端1.goodsDetail.html 添加抢购按钮2.goodsDetail.html 根据秒杀状
2024-06-02 22:15:23
1327
3
原创 秒杀基本功能开发(显示商品列表和商品详情)
文章目录1.数据库表设计1.商品表2.秒杀商品表3.修改一下秒杀时间为今天到明天2.pojo和vo编写1.com/sxs/seckill/pojo/Goods.java2.com/sxs/seckill/pojo/SeckillGoods.java3.com/sxs/seckill/vo/GoodsVo.java3.Mapper编写1.GoodsMapper.java2.GoodsMapper.xml3.分别编写SeckillGoodsMapper.java和SeckillGoodsMapper.xml4.
2024-06-01 22:08:01
744
5
原创 高并发项目-分布式Session解决方案
/ 进入到商品首页// 判断是否有用户信息// 将用户信息存入model中,返回到前端import com/*** Description: 自定义参数解析器/** 判断是否支持要转换的参数类型,简单来说,就是在这里设置要解析的参数类型// 如果参数类型是User,则进行解析 Class <?} /*** 编写参数解析的逻辑* @return。
2024-05-31 21:41:05
1643
2
原创 商品上线搜索服务
这个脚本的意思就是根据传入的参数,在location.href的url上添加参数//处理带条件搜索, 技术难点在于要把原来的条件带上.//得到最新的请求 url, 带有多个条件//替换条件, 或者是添加条件,比较麻烦的代码var nUrl;= -1) {")!= -1) {} else {// 分页超链接= -1) {
2024-05-28 21:37:29
726
2
原创 设计模式-原型模式
*** Description: 实现Cloneable接口的clone方法,使用原型模式来实现克隆*/return age;@Override在Spring中配置一个bean的时候,有一个scope属性可以选择配置prototype(原型模式)当配置了这个参数,每次getBean的时候就相当于使用原型模式创建了一个新的对象,然后将原对象的属性浅拷贝到这个新的对象。
2024-05-28 21:35:44
1286
原创 工厂模式的三种实现方式
import com/*** Description: 简单工厂模式System . out . println("使用简单工厂模式");// 根据用户输入的类型来获取Pizza对象 if(orderType . equals("greek")) {} }/*** Description: 简单工厂模式System . out . println("使用简单工厂模式");
2024-05-27 21:04:10
606
原创 八种单例模式
*** Description: 单例模式饿汉式(静态变量)*/// 通过公有的静态方法,获取实例// 返回的是true// 1.构造器私有化// 2.本类的内部创建对象实例// 3.暴露一个公有的静态方法,返回实例对象/*** Description: 双重检查*/// 1.构造器私有化// 2.静态属性,存放本类对象,使用volatile防止指令重排序// 3.静态的公有方法,当使用到该方法时才会去创建instance。
2024-05-26 21:18:32
1195
1
原创 保存商品信息功能(VO)
img_url VARCHAR(255) COMMENT '图片地址',img_sort INT COMMENT '排序',default_img INT COMMENT '默认图[0 - 不是默认图,1 - 是默认图]',) CHARSET = utf8mb4 COMMENT ='sku 图片';SELECT *这里由六个基本属性和五个特殊属性来组成一个VO。
2024-05-25 10:28:19
1248
原创 分类和品牌关联
- 品牌和分类关联的对话框 --><el-dialog title="关联分类" :visible.sync="cateRelationDialogVisible" width="30%">-- 这里我们加入分类的 Cascader 级联选择器, 前面我们使用过 --><el-button size="mini" type="text" @click="popCatelogSelectVisible = false">取 消。
2024-05-23 21:38:17
1036
原创 Redis三主三从集群搭建(docker版)
在本地找不到,会到远程仓库查找镜像https://cr.console.aliyun.com/cn-beijing/instances4.重启daemon5.重启docker2.部署规划图3.从redis6.0.8中得到一份redis.conf的配置文件1.将压缩包上传到/opt目录下3.复制一份redis.conf到/app/redis目录下4.查看配置文件2.设置redis密码 requirepass foobared3.进行操作测试https://cr
2024-05-20 21:43:56
2398
11
原创 Docker镜像&容器数据卷
宿主机目录会自动创建(前提是有权限)docker run [-it/-d] --privileged=true -v /宿主机目录:/容器内目录 镜像名。
2024-05-18 21:45:06
821
原创 商品属性组管理
/ 点击树形节点,获取数据,如果是第三级就进行条件分页查询this.getDataList() // 进行条件分页查询/*** 根据id来获取该id对应的所有父id的数组* @return。
2024-05-17 22:02:20
789
原创 Docker安装&常用命令
https://docs.docker.com/https://hub.docker.com/在本地找不到,会到远程仓库查找镜像2.卸载 Docker 引擎12.阿里云镜像加速器配置1.找到容器镜像服务https://cr.console.aliyun.com/cn-beijing/instances4.通过修改daemon配置文件/etc/docker/daemon.json来使用加速器5.重启daemon6.重启docker4.docker基本分析1.查找
2024-05-17 21:57:27
1947
5
原创 表单提交数据前后端校验
callback(new Error('检索首字母必须填写'));callback(new Error('检索首字母必须为字母'));-- 引入自定义校验器依赖 --> < dependency > < groupId > javax.validation </ groupId > < artifactId > validation-api </ artifactId > < version > 2.0.1.Final </ version > </ dependency >
2024-05-16 21:34:24
382
原创 设计模式-七大设计原则
由于只有一个run方法来决定运行,所以飞机只能调用run方法但是run方法是负责在公路上运行的,而飞机不是在公路上运行的,不应该由这个run方法来处理/*** Description: 单一职责原则*/vehicle.run("汽车");vehicle.run("火车");vehicle.run("飞机");System.out.println(vehicle + "在公路上运行");/*** Description: 违反接口隔离原则*//*** 一个接口中有五个方法。
2024-05-16 21:27:09
1158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人