栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

2022工作中遇到问题三

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2022工作中遇到问题三

1、nacos读取配置不正确问题

nacos客户端通过调用/listener接口监听配置信息是否修改,核心方法为:ConfigCacheService#isUptodate

	public static boolean isUptodate(String groupKey, String md5, String ip, String tag) {
        String serverMd5 = ConfigCacheService.getContentMd5(groupKey, ip, tag);
        return StringUtils.equals(md5, serverMd5);
    }

	public static String getContentMd5(String groupKey, String ip, String tag) {
        CacheItem item = CACHE.get(groupKey);
        if (item != null && item.isBeta) {
            if (item.ips4Beta.contains(ip)) {
                return item.md54Beta;
            }
        }
        if (item != null && item.tagMd5 != null && item.tagMd5.size() > 0) {
            if (StringUtils.isNotBlank(tag) && item.tagMd5.containsKey(tag)) {
                return item.tagMd5.get(tag);
            }
        }
        return (null != item) ? item.md5 : Constants.NULL;
    }

nacos将所有配置信息缓存在CACHE中,然后以名称空间、group、data ID作为key,取得配置信息后计算md5值比较。

注意:public的名称空间id是空,不是public,如果指定配置中心名称空间为public,调用/listener从缓存中获取不到配置,item值为null,则判断新旧md5值不相等。

2、mybatis if test条件判断数组参数

mybatis做if test判断的时候,如果参数只用来做条件判断,查看sql参数的时候会发现参数根本没传,所以条件接收到的参数会一直是空的。如果参数是数组


	。。。

可以通过aa[0]判断第几个元素的值作为条件

3、mybatis一对多分页查询

一对多查询分页问题,之前踩过这个坑,但是没有记录,今天又遇到了,记录一下:

使用collection标签,传参用column,用主表的column作为从表的参数