MybatisPlus的分页插件会自动优化LeftJoin语句

MybatisPlus的分页插件会自动优化LeftJoin语句,官网上说明,当LeftJoin的表没有参与Where查询时,会自动移除。
会导致查询的sql总数和实际数据不一致

解决方案: 配置

paginationInnerInterceptor.setOptimizeJoin(false);

为false即可不消除leftjoin

 @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.getDbType(dbType));
        // 关闭生成 countSql 优化掉 join
        paginationInnerInterceptor.setOptimizeJoin(false);
        interceptor.addInnerInterceptor(paginationInnerInterceptor);
        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
        return interceptor;
    }

cdn解决端口限制

设置cdn服务
cdn我选择的是腾讯云的,具体设置参考官方文档(点我).而你需要准备的东西有2个,一个是家用宽带的域名,一个是cdn使用的域名.

cdn.home.1997sty.com:81这个域名我指向的是家用宽带的ip地址,也就是api接口实时更新解析记录的地址
home.1997sty.com这个域名我指向的是cdn服务器,是正式访问的地址

设置完成后,自动启动,过几分钟就能用正式访问的地址访问网站,因为设置81端口,记得在源站设置的时候加上端口号

外网访问效果

设置强制https
按照下图配置,不需要在nginx上操作,只需要设置cdn即可
ssl证书可以点击sll证书管理去申请,反正有免费的
设置完成后过几分钟再访问,会将请求强制跳转到https

访问效果

openwrt旁路由如何设置动态dns

我们申请的宽带公网ip,一般每隔一段时间就会改变,
所以这时就用到了动态dns

我使用的是腾讯云的域名和DNSPOD
1.首先需要打开 DNSPOD
https://www.dnspod.cn/
在里面创建一个密钥


然后添加一个二级域名的解析记录
随便添加一个A记录 默认指向 1.1.1.1 就行,后面会自动覆盖

2.首先在openwrt的 服务 里面找到 动态dns

随便命个名称,点击 “添加”


查询主机名和域名项都写 你自己的域名解析的域名
用户名和密码填 DNSPod 上面申请到的密钥

按照我图片上面的设置就行
然后再点击“高级设置”
如图:


URL 可以使用:

http://ip.3322.net/

因为我是用openwrt连接的主路由wifi的形式所以可以选择“wwan”
别的默认就行
点击保存&应用就行

后面如何ip变了会自动更新到域名解析记录的

docker容器时间和宿主机时间不一致

解决方案:

# 1:直接在宿主机操作
docker cp /etc/localtime <容器ID或容器名>:/etc/localtimeSS
docker cp -L /usr/share/zoneinfo/Asia/Shanghai <容器ID或者NAME>:/etc/localtime

# 方法2:登录容器同步时区timezone
ln -sf /usr/share/zoneinfo/Asia/Singapore /etc/localtime

openwrt 安装的宝塔5.9 使用问题汇总

1.安装了redis 不能随启动自动启动
解决方案:找到 /www下的init.sh文件


编辑文件添加

/etc/init.d/redis restart

2.重装nginx会报错后启动nginx会报错


需要缺少两个模块重新编译安装

宝塔面板找到路径:/www/server/panel/install找到文件nginx.sh 打开开始编辑。大概在278行,我们添加 --add-module=srclib/ngx_devel_kit --add-module=srclib/lua_nginx_module 不会添加看代码,标注下划线的地方就是我们要添加的2个模块:

./configure --user=www --group=www --prefix=${Setup_Path} ${ENABLE_LUA} --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=${Setup_Path}/src/ngx_cache_purge --add-module=${Setup_Path}/src/nginx-sticky-module --with-openssl=${Setup_Path}/src/openssl --with-pcre=pcre-${pcre_version} ${ENABLE_HTTP2} --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt="-Wl,-E" --with-cc-opt="-Wno-error" ${jemallocLD} ${ENABLE_WEBDAV} ${ENABLE_NGX_PAGESPEED} ${ADD_EXTENSION} ${i_make_args}

4)因为默认是已经有这两个模块了,所以我们直接编译即可,我们回到ssh客户端使用命令开始编译,根据自己的版本,因为大鸟这台服务器安装的版本是nginx1.20.2所以用编译命令如下:

sh /www/server/panel/install/nginx.sh install 1.20

5)编译完成后,用命令:`shell
nginx -V

4、最后