苍穹外卖小笔记

技术选型

nginx

key01:启动路径一定不能有中文

key02:如果不想使用默认的80端口,可以在nginx-1.22.0\conf下的nginx.conf修改,修改位置在 http-server-listen 属性

停止服务器,强制停止命令为nginx -s stop

注意:若启动了nginx,要重启才能生效,重启命令为nginx -s reload

key03:

反向代理

负载均衡

异常

key01:

【异常】JDK21报错NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member fie

lombok版本兼容性的问题

Maven依赖更新新版 lombok 为 1.18.30 即可

key02:

登陆失败:注意修改配置文件的数据库连接信息

key03:

发生了错误: 加载主类 时出现 LinkageError 的错误

编译工具的设置中选择了一种版本的java,而项目设置的是另一种java,将两者修改为一个版本的java,就可以解决了

key04:

mapper层的SQL语句,注意对应关系别写错

key05:

key06:数据库重启电脑后丢失

处理方法:切换mysql

key07:websocket无法访问

刚开始试了一下普通html页面,发现websocket的连接功能正常,并且收发消息也正常。使用nginx反向代理,由于修改了端口号,因此需要在nginx的app.d0aa4eb3.js和app.d0aa4eb3.js.map这两个文件修改对因的端口号,然后关闭nginx重新启动nginx,并且清理浏览器的缓存记录,然后就可以前后端通过nginx连接成功

key08:语言播报一直响

处理:将之前的测试方法注释掉,否则每5s播报一次

 swagger

常用注解

 Redis

redis-cli由于目标计算机积极拒绝,无法连接

进入安装目录开启2个命令窗口

一个运行:redis-server.exe redis.windows.conf

另一个运行:redis-cli.exe -h 127.0.0.1 -p 6379

命令台不用关,打开图形化界面工具

常用命令

java中使用Redis

Spring Cache

知识点

key01:属性复制

使用BeanUtils.copyProperties(对象1,对象二),将对象一的属性复制到对象二的属性中。必须保证属性名一致

key02:JWT

通过某种方式动态获取当前登录员工的id

将JWT令牌中id封装进去线程,然后在service层进行共享即可

调用自定义工具类

获取id

key03:分页插件

分页插件

前端传递的属性

        1、引入依赖

        

        

key04:消息转换器

key05:RequestMapping

当使用了@RequestMapping注解,下面使用的为相对路径

key06:属性赋值

给属性赋值

Employee employee = Employee.builder()
            .id(id)
            .status(status)
            .build();

key07:阿里云文件上传

文件上传

工具类AliOssUtil

key08:批量操作数据

key09:前后端联调

一般查询操作位GET请求,query方式,通过地址栏传递id

key10:mybatis的数据封装问题

当两个表都有name字段属性,通过左(右)外连接可能会查询到两个相同的属性名。这时mybatis封装#{}就会出问题。

处理:取别名,将需要查询的属性取别名

key11:路径参数

使用了@RequestMapping,记得后面的mapping加   /

key12:接口文档

key13:httpclient

阿里云的依赖底层实现了httpclient,导入了阿里云的依赖就不需要导入这个了

key14:微信小程序

key15:微信支付

1.cmd+ipconfig获取ip地址

2.内网穿透

key16:Spring Tack

key17:websocket

key18:统计报表

统计每日新注册人数和总注册人数

业务层:

//存放每天的新增用户数量 select count(id) from user where create_time < ? and create_time > ?
        List<Integer> newUserList = new ArrayList<>();
        //存放每天的总用户数量 select count(id) from user where create_time < ?
        List<Integer> totalUserList = new ArrayList<>();

        for (LocalDate date : dateList) {
            LocalDateTime beginTime = LocalDateTime.of(date, LocalTime.MIN);
            LocalDateTime endTime = LocalDateTime.of(date, LocalTime.MAX);

            Map map = new HashMap();
            map.put("end", endTime);

            //总用户数量
            Integer totalUser = userMapper.countByMap(map);

            map.put("begin", beginTime);
            //新增用户数量
            Integer newUser = userMapper.countByMap(map);

动态sql:(注意,&gt;&lt;)前面不是美元符号

key19:Stream流

//TODO 01  通过Stream流获取集合总和
        //计算时间区间内的订单总数量
        Integer totalOrderCount = orderCountList.stream().reduce(Integer::sum).get();

        //计算时间区间内的有效订单数量
        Integer validOrderCount = validOrderCountList.stream().reduce(Integer::sum).get();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值