yudao-cloud 学习笔记

前端代码

浏览器打开 https://cloud.iocoder.cn/intro/
F12
执行代码

var aaa= $(".sidebar-group-items").find("a");
var ll=[];
var tt=[];
for(var i=0;i<aaa.length;i++ ){ ll.push("https://doc.iocoder.cn"+ $(aaa[i]).attr("href"));tt.push($(aaa[i]).html());
}

在这里插入图片描述

对 ll 和 tt ,鼠标右键 copy object ,格式化字符串后 作为下面java参数的代码

java代码

import cn.hutool.core.io.FileUtil;
import cn.hutool.http.HttpUtil;import java.io.File;
import java.nio.charset.Charset;public class YuDaoTest {public static void main(String[] args) {String[] urlList= new  String []  {"https://doc.iocoder.cn/intro/","https://doc.iocoder.cn/qun/","https://doc.iocoder.cn/video/","https://doc.iocoder.cn/feature/","https://doc.iocoder.cn/quick-start/","https://doc.iocoder.cn/quick-start-front/","https://doc.iocoder.cn/api-doc/","https://doc.iocoder.cn/technology/","https://doc.iocoder.cn/project-intro/","https://doc.iocoder.cn/dev-hot-swap/","https://doc.iocoder.cn/project-rename/","https://doc.iocoder.cn/delete-code/","https://doc.iocoder.cn/natapp/","https://doc.iocoder.cn/db-dameng/","https://doc.iocoder.cn/module-new/","https://doc.iocoder.cn/new-feature/","https://doc.iocoder.cn/new-feature/master-sub/","https://doc.iocoder.cn/new-feature/tree/","https://doc.iocoder.cn/resource-permission/","https://doc.iocoder.cn/data-permission/","https://doc.iocoder.cn/user-center/","https://doc.iocoder.cn/social-user/","https://doc.iocoder.cn/oauth2/","https://doc.iocoder.cn/saas-tenant/","https://doc.iocoder.cn/saas-tenant/dynamic/","https://doc.iocoder.cn/websocket/","https://doc.iocoder.cn/exception/","https://doc.iocoder.cn/validator/","https://doc.iocoder.cn/page-feature/","https://doc.iocoder.cn/file/","https://doc.iocoder.cn/excel-import-and-export/","https://doc.iocoder.cn/system-log/","https://doc.iocoder.cn/mybatis/","https://doc.iocoder.cn/mybatis-pro/","https://doc.iocoder.cn/dynamic-datasource/","https://doc.iocoder.cn/redis-cache/","https://doc.iocoder.cn/local-cache/","https://doc.iocoder.cn/async-task/","https://doc.iocoder.cn/util/","https://doc.iocoder.cn/unit-test/","https://doc.iocoder.cn/distributed-lock/","https://doc.iocoder.cn/idempotent/","https://doc.iocoder.cn/db-doc/","https://doc.iocoder.cn/captcha/","https://doc.iocoder.cn/cloud-debug/","https://doc.iocoder.cn/registry-center/","https://doc.iocoder.cn/config-center/","https://doc.iocoder.cn/gateway/","https://doc.iocoder.cn/rpc/","https://doc.iocoder.cn/job/","https://doc.iocoder.cn/message-queue/event/","https://doc.iocoder.cn/message-queue/redis/","https://doc.iocoder.cn/message-queue/rocketmq/","https://doc.iocoder.cn/message-queue/rabbitmq/","https://doc.iocoder.cn/message-queue/kafka/","https://doc.iocoder.cn/message-queue/cloud/","https://doc.iocoder.cn/distributed-transaction/","https://doc.iocoder.cn/server-protection/","https://doc.iocoder.cn/bpm/","https://doc.iocoder.cn/bpm/dameng/","https://doc.iocoder.cn/report/","https://doc.iocoder.cn/report/screen/","https://doc.iocoder.cn/pay/build/","https://doc.iocoder.cn/pay/alipay-pay-demo/","https://doc.iocoder.cn/pay/wx-pub-pay-demo/","https://doc.iocoder.cn/pay/wx-lite-pay-demo/","https://doc.iocoder.cn/pay/refund-demo/","https://doc.iocoder.cn/member/build/","https://doc.iocoder.cn/member/weixin-mp-login/","https://doc.iocoder.cn/member/weixin-lite-login/","https://doc.iocoder.cn/member/user/","https://doc.iocoder.cn/member/level/","https://doc.iocoder.cn/mall-preview/","https://doc.iocoder.cn/mall/build/","https://doc.iocoder.cn/mall/diy/","https://doc.iocoder.cn/mall/product-category/","https://doc.iocoder.cn/mall/product-property/","https://doc.iocoder.cn/mall/product-spu-sku/","https://doc.iocoder.cn/mall/product-comment/","https://doc.iocoder.cn/mall/trade-cart/","https://doc.iocoder.cn/mall/trade-order/","https://doc.iocoder.cn/mall/trade-aftersale/","https://doc.iocoder.cn/mall/trade-delivery-express/","https://doc.iocoder.cn/mall/trade-delivery-pickup/","https://doc.iocoder.cn/mall/trade-brokerage/","https://doc.iocoder.cn/mall/promotion-coupon/","https://doc.iocoder.cn/mall/promotion-combination/","https://doc.iocoder.cn/mall/promotion-seckill/","https://doc.iocoder.cn/mall/promotion-bargain/","https://doc.iocoder.cn/mall/promotion-record/","https://doc.iocoder.cn/mall/promotion-discount/","https://doc.iocoder.cn/mall/promotion-content/","https://doc.iocoder.cn/mall/statistics/","https://doc.iocoder.cn/erp-preview/","https://doc.iocoder.cn/erp/build/","https://doc.iocoder.cn/erp/product/","https://doc.iocoder.cn/erp/stock/","https://doc.iocoder.cn/erp/stock-in-out/","https://doc.iocoder.cn/erp/stock-move-check/","https://doc.iocoder.cn/erp/purchase/","https://doc.iocoder.cn/erp/sale/","https://doc.iocoder.cn/sale/finance-payment-receipt/","https://doc.iocoder.cn/crm-preview/","https://doc.iocoder.cn/crm/build/","https://doc.iocoder.cn/crm/clue/","https://doc.iocoder.cn/crm/customer/","https://doc.iocoder.cn/crm/business/","https://doc.iocoder.cn/crm/contract/","https://doc.iocoder.cn/crm/receivable/","https://doc.iocoder.cn/crm/product/","https://doc.iocoder.cn/crm/permission/","https://doc.iocoder.cn/crm/follow-up/","https://doc.iocoder.cn/mp/build/","https://doc.iocoder.cn/mp/account/","https://doc.iocoder.cn/mp/user/","https://doc.iocoder.cn/mp/tag/","https://doc.iocoder.cn/mp/message/","https://doc.iocoder.cn/mp/auto-reply/","https://doc.iocoder.cn/mp/menu/","https://doc.iocoder.cn/mp/material/","https://doc.iocoder.cn/mp/article/","https://doc.iocoder.cn/mp/statistics/","https://doc.iocoder.cn/sms/","https://doc.iocoder.cn/mail/","https://doc.iocoder.cn/notify/","https://doc.iocoder.cn/desensitize/","https://doc.iocoder.cn/sensitive-word/","https://doc.iocoder.cn/area-and-ip/","https://doc.iocoder.cn/dev-env/","https://doc.iocoder.cn/deployment-linux/","https://doc.iocoder.cn/deployment-docker/","https://doc.iocoder.cn/deployment-jenkins/","https://doc.iocoder.cn/https/","https://doc.iocoder.cn/server-monitor/","https://doc.iocoder.cn/vue3/dev-spec/","https://doc.iocoder.cn/vue3/route/","https://doc.iocoder.cn/vue3/icon/","https://doc.iocoder.cn/vue3/dict/","https://doc.iocoder.cn/vue3/components/","https://doc.iocoder.cn/vue3/util/","https://doc.iocoder.cn/vue3/config-center/","https://doc.iocoder.cn/vue3/crud-schema/","https://doc.iocoder.cn/vue3/i18n/","https://doc.iocoder.cn/vue3/debugger/","https://doc.iocoder.cn/vue3/format/","https://doc.iocoder.cn/vue2/dev-spec/","https://doc.iocoder.cn/vue2/route/","https://doc.iocoder.cn/vue2/icon/","https://doc.iocoder.cn/vue2/dict/","https://doc.iocoder.cn/vue2/components/","https://doc.iocoder.cn/vue2/util/","https://doc.iocoder.cn/vue2/config-center/","https://doc.iocoder.cn/changelog/2.1.0/","https://doc.iocoder.cn/changelog/2.0.1/","https://doc.iocoder.cn/changelog/2.0.0/","https://doc.iocoder.cn/changelog/1.9.0/","https://doc.iocoder.cn/changelog/1.8.3/","https://doc.iocoder.cn/intro/","https://doc.iocoder.cn/qun/","https://doc.iocoder.cn/video/","https://doc.iocoder.cn/feature/","https://doc.iocoder.cn/quick-start/","https://doc.iocoder.cn/quick-start-front/","https://doc.iocoder.cn/api-doc/","https://doc.iocoder.cn/technology/","https://doc.iocoder.cn/project-intro/","https://doc.iocoder.cn/dev-hot-swap/","https://doc.iocoder.cn/project-rename/","https://doc.iocoder.cn/delete-code/","https://doc.iocoder.cn/natapp/","https://doc.iocoder.cn/db-dameng/","https://doc.iocoder.cn/module-new/","https://doc.iocoder.cn/new-feature/","https://doc.iocoder.cn/new-feature/master-sub/","https://doc.iocoder.cn/new-feature/tree/","https://doc.iocoder.cn/resource-permission/","https://doc.iocoder.cn/data-permission/","https://doc.iocoder.cn/user-center/","https://doc.iocoder.cn/social-user/","https://doc.iocoder.cn/oauth2/","https://doc.iocoder.cn/saas-tenant/","https://doc.iocoder.cn/saas-tenant/dynamic/","https://doc.iocoder.cn/websocket/","https://doc.iocoder.cn/exception/","https://doc.iocoder.cn/validator/","https://doc.iocoder.cn/page-feature/","https://doc.iocoder.cn/file/","https://doc.iocoder.cn/excel-import-and-export/","https://doc.iocoder.cn/system-log/","https://doc.iocoder.cn/mybatis/","https://doc.iocoder.cn/mybatis-pro/","https://doc.iocoder.cn/dynamic-datasource/","https://doc.iocoder.cn/redis-cache/","https://doc.iocoder.cn/local-cache/","https://doc.iocoder.cn/async-task/","https://doc.iocoder.cn/util/","https://doc.iocoder.cn/unit-test/","https://doc.iocoder.cn/distributed-lock/","https://doc.iocoder.cn/idempotent/","https://doc.iocoder.cn/db-doc/","https://doc.iocoder.cn/captcha/","https://doc.iocoder.cn/cloud-debug/","https://doc.iocoder.cn/registry-center/","https://doc.iocoder.cn/config-center/","https://doc.iocoder.cn/gateway/","https://doc.iocoder.cn/rpc/","https://doc.iocoder.cn/job/","https://doc.iocoder.cn/message-queue/event/","https://doc.iocoder.cn/message-queue/redis/","https://doc.iocoder.cn/message-queue/rocketmq/","https://doc.iocoder.cn/message-queue/rabbitmq/","https://doc.iocoder.cn/message-queue/kafka/","https://doc.iocoder.cn/message-queue/cloud/","https://doc.iocoder.cn/distributed-transaction/","https://doc.iocoder.cn/server-protection/","https://doc.iocoder.cn/bpm/","https://doc.iocoder.cn/bpm/dameng/","https://doc.iocoder.cn/report/","https://doc.iocoder.cn/report/screen/","https://doc.iocoder.cn/pay/build/","https://doc.iocoder.cn/pay/alipay-pay-demo/","https://doc.iocoder.cn/pay/wx-pub-pay-demo/","https://doc.iocoder.cn/pay/wx-lite-pay-demo/","https://doc.iocoder.cn/pay/refund-demo/","https://doc.iocoder.cn/member/build/","https://doc.iocoder.cn/member/weixin-mp-login/","https://doc.iocoder.cn/member/weixin-lite-login/","https://doc.iocoder.cn/member/user/","https://doc.iocoder.cn/member/level/","https://doc.iocoder.cn/mall-preview/","https://doc.iocoder.cn/mall/build/","https://doc.iocoder.cn/mall/diy/","https://doc.iocoder.cn/mall/product-category/","https://doc.iocoder.cn/mall/product-property/","https://doc.iocoder.cn/mall/product-spu-sku/","https://doc.iocoder.cn/mall/product-comment/","https://doc.iocoder.cn/mall/trade-cart/","https://doc.iocoder.cn/mall/trade-order/","https://doc.iocoder.cn/mall/trade-aftersale/","https://doc.iocoder.cn/mall/trade-delivery-express/","https://doc.iocoder.cn/mall/trade-delivery-pickup/","https://doc.iocoder.cn/mall/trade-brokerage/","https://doc.iocoder.cn/mall/promotion-coupon/","https://doc.iocoder.cn/mall/promotion-combination/","https://doc.iocoder.cn/mall/promotion-seckill/","https://doc.iocoder.cn/mall/promotion-bargain/","https://doc.iocoder.cn/mall/promotion-record/","https://doc.iocoder.cn/mall/promotion-discount/","https://doc.iocoder.cn/mall/promotion-content/","https://doc.iocoder.cn/mall/statistics/","https://doc.iocoder.cn/erp-preview/","https://doc.iocoder.cn/erp/build/","https://doc.iocoder.cn/erp/product/","https://doc.iocoder.cn/erp/stock/","https://doc.iocoder.cn/erp/stock-in-out/","https://doc.iocoder.cn/erp/stock-move-check/","https://doc.iocoder.cn/erp/purchase/","https://doc.iocoder.cn/erp/sale/","https://doc.iocoder.cn/sale/finance-payment-receipt/","https://doc.iocoder.cn/crm-preview/","https://doc.iocoder.cn/crm/build/","https://doc.iocoder.cn/crm/clue/","https://doc.iocoder.cn/crm/customer/","https://doc.iocoder.cn/crm/business/","https://doc.iocoder.cn/crm/contract/","https://doc.iocoder.cn/crm/receivable/","https://doc.iocoder.cn/crm/product/","https://doc.iocoder.cn/crm/permission/","https://doc.iocoder.cn/crm/follow-up/","https://doc.iocoder.cn/mp/build/","https://doc.iocoder.cn/mp/account/","https://doc.iocoder.cn/mp/user/","https://doc.iocoder.cn/mp/tag/","https://doc.iocoder.cn/mp/message/","https://doc.iocoder.cn/mp/auto-reply/","https://doc.iocoder.cn/mp/menu/","https://doc.iocoder.cn/mp/material/","https://doc.iocoder.cn/mp/article/","https://doc.iocoder.cn/mp/statistics/","https://doc.iocoder.cn/sms/","https://doc.iocoder.cn/mail/","https://doc.iocoder.cn/notify/","https://doc.iocoder.cn/desensitize/","https://doc.iocoder.cn/sensitive-word/","https://doc.iocoder.cn/area-and-ip/","https://doc.iocoder.cn/dev-env/","https://doc.iocoder.cn/deployment-linux/","https://doc.iocoder.cn/deployment-docker/","https://doc.iocoder.cn/deployment-jenkins/","https://doc.iocoder.cn/https/","https://doc.iocoder.cn/server-monitor/","https://doc.iocoder.cn/vue3/dev-spec/","https://doc.iocoder.cn/vue3/route/","https://doc.iocoder.cn/vue3/icon/","https://doc.iocoder.cn/vue3/dict/","https://doc.iocoder.cn/vue3/components/","https://doc.iocoder.cn/vue3/util/","https://doc.iocoder.cn/vue3/config-center/","https://doc.iocoder.cn/vue3/crud-schema/","https://doc.iocoder.cn/vue3/i18n/","https://doc.iocoder.cn/vue3/debugger/","https://doc.iocoder.cn/vue3/format/","https://doc.iocoder.cn/vue2/dev-spec/","https://doc.iocoder.cn/vue2/route/","https://doc.iocoder.cn/vue2/icon/","https://doc.iocoder.cn/vue2/dict/","https://doc.iocoder.cn/vue2/components/","https://doc.iocoder.cn/vue2/util/","https://doc.iocoder.cn/vue2/config-center/","https://doc.iocoder.cn/changelog/2.1.0/","https://doc.iocoder.cn/changelog/2.0.1/","https://doc.iocoder.cn/changelog/2.0.0/","https://doc.iocoder.cn/changelog/1.9.0/","https://doc.iocoder.cn/changelog/1.8.3/"};String filePath="D:\\yudao-cloud\\";String[] titleList = new String[] {"简介", "交流群", "视频教程", "功能列表", "快速启动(后端项目)", "快速启动(前端项目)", "接口文档", "技术选型", "项目结构", "代码热加载", "一键改包", "删除功能", "内网穿透", "达梦数据库专属", "新建服务", "代码生成【单表】(新增功能)", "代码生成【主子表】", "代码生成(树表)", "功能权限", "数据权限", "用户体系", "三方登录", "OAuth 2.0(SSO 单点登录)", "SaaS 多租户【字段隔离】", "SaaS 多租户【数据库隔离】", "WebSocket 实时通信", "异常处理(错误码)", "参数校验", "分页实现", "文件存储(上传下载)", "Excel 导入导出", "系统日志", "MyBatis 数据库", "MyBatis 联表&amp;分页查询", "多数据源(读写分离)", "Redis 缓存", "本地缓存", "异步任务", "工具类 Util", "单元测试", "分布式锁", "幂等性(防重复提交)", "数据库文档", "验证码", "微服务调试(必读)", "注册中心 Nacos", "配置中心 Nacos", "服务网关 Spring Cloud Gateway", "服务调用 Feign", "定时任务 XXL Job", "消息队列(内存)", "消息队列(Redis)", "消息队列(RocketMQ)", "消息队列(RabbitMQ)", "消息队列(Kafka)", "消息队列(Cloud)", "分布式事务 Seata", "服务保障 Sentinel", "工作流(Flowable)会签、或签", "工作流(达梦适配)", "报表设计器", "大屏设计器", "功能开启", "支付宝支付接入", "微信公众号支付接入", "微信小程序支付接入", "支付宝、微信退款接入", "功能开启", "微信公众号登录", "微信小程序登录", "会员用户、标签、分组", "会员等级、积分、签到", "商城演示", "功能开启", "商城装修", "【商品】商品分类", "【商品】商品属性", "【商品】商品 SPU 与 SKU", "【商品】商品评价", "【交易】购物车", "【交易】交易订单", "【交易】售后退款", "【交易】快递发货", "【交易】门店自提", "【交易】分销返佣", "【营销】优惠劵", "【营销】拼团活动", "【营销】秒杀活动", "【营销】砍价活动", "【营销】满减送", "【营销】限时折扣", "【营销】内容管理", "【统计】会员、商品、交易统计", "ERP 演示", "功能开启", "【产品】产品信息、分类、单位", "【库存】产品库存、库存明细", "【库存】其它入库、其它出库", "【库存】库存调拨、库存盘点", "【采购】采购订单、入库、退货", "【销售】销售订单、出库、退货", "【财务】采购付款、销售收款", "CRM 演示", "功能开启", "【线索】线索管理", "【客户】客户管理、公海客户", "【商机】商机管理、商机状态", "【合同】合同管理、合同提醒", "【回款】回款管理、回款计划", "【产品】产品管理、产品分类", "【通用】数据权限", "【通用】跟进记录、待办事项", "功能开启", "公众号接入", "公众号粉丝", "公众号标签", "公众号消息", "自动回复", "公众号菜单", "公众号素材", "公众号图文", "公众号统计", "短信配置", "邮件配置", "站内信配置", "数据脱敏", "敏感词", "地区 &amp; IP 库", "开发环境", "Linux 部署", "Docker 部署", "Jenkins 部署", "HTTPS 证书", "服务监控", "开发规范", "菜单路由", "Icon 图标", "字典数据", "系统组件", "通用方法", "配置读取", "CRUD 组件", "国际化", "IDE 调试", "代码格式化", "开发规范", "菜单路由", "Icon 图标", "字典数据", "系统组件", "通用方法", "配置读取", "【v2.1.0】开发中", "【v2.0.1】2024-03-01", "【v2.0.0】2024-01-26", "【v1.9.0】2023-12-01", "【v1.8.3】2023-10-24"};for (int i = 0; i <urlList.length ; i++) {String s= HttpUtil.get(urlList[i]);File file = FileUtil.file(filePath+i+"."+titleList[i]+".html");FileUtil.writeString(s.replaceAll("<img src=\"/","<img src=\"https://cloud.iocoder.cn/"),file, Charset.forName("UTF-8"));}}}

设置cookie

在JS里
https://cloud.iocoder.cn/assets/js/app.5a8cc3cb.js

 const n = "88974ed8-6aff-48ab-a7d1-4af5ffea88bb", e = "cat";function s() {return (Cookies.get(n) || "").indexOf(e) >= 0}Cookies.set("88974ed8-6aff-48ab-a7d1-4af5ffea88bb","cat")

可复用的代码

MyBatis Plus QueryWrapper 类

import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import org.springframework.util.StringUtils;import java.util.Collection;/*** 拓展 MyBatis Plus QueryWrapper 类,主要增加如下功能:* <p>* 1. 拼接条件的方法,增加 xxxIfPresent 方法,用于判断值不存在的时候,不要拼接到条件中。** @param <T> 数据类型*/
public class LambdaQueryWrapperX<T> extends LambdaQueryWrapper<T> {public LambdaQueryWrapperX<T> likeIfPresent(SFunction<T, ?> column, String val) {if (StringUtils.hasText(val)) {return (LambdaQueryWrapperX<T>) super.like(column, val);}return this;}public LambdaQueryWrapperX<T> inIfPresent(SFunction<T, ?> column, Collection<?> values) {if (ObjectUtil.isAllNotEmpty(values) && !ArrayUtil.isEmpty(values)) {return (LambdaQueryWrapperX<T>) super.in(column, values);}return this;}public LambdaQueryWrapperX<T> inIfPresent(SFunction<T, ?> column, Object... values) {if (ObjectUtil.isAllNotEmpty(values) && !ArrayUtil.isEmpty(values)) {return (LambdaQueryWrapperX<T>) super.in(column, values);}return this;}public LambdaQueryWrapperX<T> eqIfPresent(SFunction<T, ?> column, Object val) {if (ObjectUtil.isNotEmpty(val)) {return (LambdaQueryWrapperX<T>) super.eq(column, val);}return this;}public LambdaQueryWrapperX<T> neIfPresent(SFunction<T, ?> column, Object val) {if (ObjectUtil.isNotEmpty(val)) {return (LambdaQueryWrapperX<T>) super.ne(column, val);}return this;}public LambdaQueryWrapperX<T> gtIfPresent(SFunction<T, ?> column, Object val) {if (val != null) {return (LambdaQueryWrapperX<T>) super.gt(column, val);}return this;}public LambdaQueryWrapperX<T> geIfPresent(SFunction<T, ?> column, Object val) {if (val != null) {return (LambdaQueryWrapperX<T>) super.ge(column, val);}return this;}public LambdaQueryWrapperX<T> ltIfPresent(SFunction<T, ?> column, Object val) {if (val != null) {return (LambdaQueryWrapperX<T>) super.lt(column, val);}return this;}public LambdaQueryWrapperX<T> leIfPresent(SFunction<T, ?> column, Object val) {if (val != null) {return (LambdaQueryWrapperX<T>) super.le(column, val);}return this;}public LambdaQueryWrapperX<T> betweenIfPresent(SFunction<T, ?> column, Object val1, Object val2) {if (val1 != null && val2 != null) {return (LambdaQueryWrapperX<T>) super.between(column, val1, val2);}if (val1 != null) {return (LambdaQueryWrapperX<T>) ge(column, val1);}if (val2 != null) {return (LambdaQueryWrapperX<T>) le(column, val2);}return this;}public LambdaQueryWrapperX<T> betweenIfPresent(SFunction<T, ?> column, Object[] values) {Object val1 = ArrayUtils.get(values, 0);Object val2 = ArrayUtils.get(values, 1);return betweenIfPresent(column, val1, val2);}// ========== 重写父类方法,方便链式调用 ==========@Overridepublic LambdaQueryWrapperX<T> eq(boolean condition, SFunction<T, ?> column, Object val) {super.eq(condition, column, val);return this;}@Overridepublic LambdaQueryWrapperX<T> eq(SFunction<T, ?> column, Object val) {super.eq(column, val);return this;}@Overridepublic LambdaQueryWrapperX<T> orderByDesc(SFunction<T, ?> column) {super.orderByDesc(true, column);return this;}@Overridepublic LambdaQueryWrapperX<T> last(String lastSql) {super.last(lastSql);return this;}@Overridepublic LambdaQueryWrapperX<T> in(SFunction<T, ?> column, Collection<?> coll) {super.in(column, coll);return this;}}

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

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

相关文章

云计算 3月4号 (自配本地和远程yum源)

自建yum源 本地源 一、使用本地的镜像文件来制作yum源(做完记得删除) 1、挂载dvd镜像或将镜像拷贝到机器中 mkdir /yum-repo mount /dev/cdrom /yum-repo # 如果我们在设置中挂载了镜像使用这个方法 mount 镜像的路径 /yum-repo # 如果我们拷贝镜像到了系统中&#xff0c;可…

Docker 构建前端项目生成镜像

一、使用 Docker 构建前端项目镜像&#xff1a; 下载安装 Docker Desktop准备一个前端项目&#xff08;vue/react&#xff09;在项目的根目录新建名为 Dockerfile 的文件 # 设置基础镜像 FROM nginx:latest# 复制项目文件 COPY dist/ /usr/share/nginx/html/# 配置Nginx COPY…

PHP伪协议是什么?

PHP伪协议是一种特殊的URL协议&#xff0c;它允许PHP直接从PHP内部生成数据或者访问PHP自身处理的数据流&#xff0c;而不需要外部资源。这些协议是由PHP解释器内部定义和处理的&#xff0c;不同于HTTP、FTP、HTTPS等标准网络协议。下面是PHP伪协议的说明&#xff1a; 1. file…

Hi3516DV500+SC2210 AIISP 黑光相机

1. Hi3516DV500 Hi3516DV500是一颗面向行业市场推出的高清智能网络摄像头SoC。该芯片最高支持2路sensor输入&#xff0c;支持最高5M30fps的ISP图像处理能力&#xff0c;支持2F WDR、多级降噪、六轴防抖、多光谱融合等多种传统图像增强和处理算法&#xff0c;支持通过AI算法对输…

Java实战:Spring Boot 通过Filter 实现 Gzip 压缩超大 JSON 对象

本文将详细介绍如何使用 Spring Boot 集成 Filter&#xff0c;实现 Gzip 压缩超大 JSON 对象。我们将深入探讨 Gzip 压缩的原理&#xff0c;以及如何利用 Java 的 GZIPInputStream 和 GZIPOutputStream 类实现 JSON 对象的压缩和解压缩。 1. 引言 在当今的互联网时代&#xf…

第11周,第三期技术动态

大家好&#xff0c;才是真的好。 真没想到&#xff0c;本周是今年第十一周&#xff0c;2024年还有不到三百天就结束了。 今天周五&#xff0c;我们继续介绍与Domino相关产品新闻&#xff0c;以及互联网或其他IT行业动态等。 一、在Windows 10和Windows 11上运行Domino和Trav…

什么情况下导致索引失效

索引在数据库中起着加快数据检索速度的作用&#xff0c;但在某些情况下&#xff0c;索引可能会失效&#xff0c;即数据库系统无法有效地使用索引来加速查询。以下是一些常见导致索引失效的情况&#xff1a; 1. 未使用索引列进行查询&#xff1a; - 当查询条件中未使用索引列…

案例研究|辛格林电梯借助DataEase实现数据整合与智能展示

辛格林电梯&#xff08;SIGLEN&#xff09;于2012年创立&#xff0c;是电梯领域的领军品牌之一。该公司总部位于广东佛山&#xff0c;是全国首批获得A1级电梯制造资质的企业&#xff0c;拥有省级工程技术研究中心。辛格林电梯专注于研发和生产高品质电梯产品&#xff0c;涵盖别…

vector的STL操作

vector 是 C 标准模板库&#xff08;STL&#xff09;中实现的动态数组&#xff0c;它能够存储连续的元素&#xff0c;这些元素可以通过索引访问。与数组相比&#xff0c;vector 的大小可以动态变化&#xff0c;提供了许多便利的成员函数来管理其存储的元素。下面是 vector 的一…

一个用libcurl多线程下载断言错误问题的排查

某数据下载程序&#xff0c;相同版本的代码&#xff0c;在64位系统中运行正常&#xff0c;但在32位系统中概率性出现断言错误。一旦出现&#xff0c;程序无法正常继续&#xff0c;即使重启亦不行。从年前会上领导提出要追到根&#xff0c;跟到底&#xff0c;到年后的今天&#…

通过统一规划和团队整合,提升企业财务洞察

在当今快节奏的商业环境中&#xff0c;企业财务职能部门更应该采取更迅速的行动来适应这个社会。大部分企业期待更高效的战略决策&#xff0c;尤其是面临海量数据信息的堆叠。但是企业领导者应该知道&#xff0c;速度本身并不是最终目标&#xff0c;财务团队必须更快地完成工作…

AI辅助研发2024

2024 年 AI 辅助研发趋势 随着人工智能技术的持续发展与突破&#xff0c;2024年AI辅助研发正成为科技界和工业界瞩目的焦点。从医药研发到汽车设计&#xff0c;从软件开发到材料科学&#xff0c;AI正逐渐渗透到研发的各个环节&#xff0c;变革着传统的研发模式。在这一背景下&a…

基于springboot的大学生智能消费记账系统的设计与实现(程序+数据库+文档)

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一、研究背景…

六种方式,教你在SpringBoot初始化时搞点事情!

前言 在实际工作中总是需要在项目启动时做一些初始化的操作&#xff0c;比如初始化线程池、提前加载好加密证书....... 那么经典问题来了&#xff0c;这也是面试官经常会问到的一个问题&#xff1a;有哪些手段在Spring Boot 项目启动的时候做一些事情&#xff1f; 方法有很多…

2.1基本算法之枚举7827:质数的和与积

两个质数的和是S&#xff0c;它们的积最大是多少&#xff1f; #include<bits/stdc.h>//万能头 using namespace std;//不用说 int fun(int n){//创建一个自定义的函数&#xff0c;方便之后判断质数 int asqrt(n);//平方根&#xff0c;让电脑轻松一点 for(int i2…

0 OpenHarmony开源鸿蒙NEXT星河版内核嵌入式编程

开源鸿蒙NEXT星河版内核嵌入式编程 作者将狼才鲸创建日期2024-03-08 CSDN文章阅读地址Gitee文章下载地址 一、前景提要 2024年1月18日&#xff0c;华为放出HarmonyOS NEXT 鸿蒙星河版开发者预览版本&#xff08;不是HarmonyOS NEXT版&#xff0c;是HarmonyOS NEXT星河版&…

Remote host closed connection during handshake

问题原因&#xff1a; HTTPS通过TSLv1和TSLv1.2协议通信 JDK7默认是TSLv1&#xff0c;JDK8默认是TSLv1.2 假如服务端是TSLv1.2&#xff0c;客户端是TSLv1&#xff0c;访问就会出现 Remote host closed connection during handshake 异常 解决方法 方法一&#xff…

字符串库函数

字符串库函数 使用字符串函数需要#include<cstring>字符串函数都根据\0来判断字符串结尾形参为char[]类型&#xff0c;则实参可以是char数组或字符串常量 字符串拷贝 strcpy(char [ ] dest,char [ ] src);//拷贝src到dest 字符串比较大小 int strcmp(char [ ] s1,ch…

如何系统的学习python编程

学习Python编程需要有一个系统的方法。这里有一些简单的步骤&#xff1a; 从基础开始&#xff1a;首先&#xff0c;要明白计算机编程的基本概念&#xff0c;比如变量、条件语句、循环等。然后学习Python的基础语法&#xff0c;就像学习任何一门新语言一样。 选择好资源&#x…

火爆新品推荐!AI大模型应用和ai 数字人开发!

火爆新品来袭&#xff01;AI大模型应用和AI数字人开发成为当下科技界的热点话题。随着人工智能技术的不断发展&#xff0c;AI大模型应用已经开始在各个领域大放异彩。从医疗诊断到金融风控&#xff0c;从自然语言处理到智能推荐&#xff0c;AI大模型的应用场景愈发广泛&#xf…