mysql语句去重
    select distinct catalog_id from jr_moments 利用distinct关键字实现去重

    java实体类为空的话不进行返回
    在实体类上加注解 @JsonInclude(value = JsonInclude.Include.NON_NULL)

    解决java实体类字段rName 返回时第二个字母小写问题
    实体类添加了@Data 注解,在字段上添加 @JsonProperty(“rName”) 注解
    否则 在属性的get方法上添加此注解
    解决java实体类字段rName 返回时第一个字母小写问题
    吖 @JSONField(name = “TID”) 注解

    实体类加了@Builder 注解时,需在实体类中定义空参构造
    @Tolerate
    public CommentsLive( ){ }
    添加函数或者构造方法,让lombok假装它不存在(不感知) 或添加
    lombok注解
    @NoArgsConstructor: 自动生成无参数构造函数。
    @AllArgsConstructor: 自动生成全参数构造函数。

    单独使用@Data注解,编译后的类文件会生成无参数构造方法(这并不是@Data提供的特性,而是Java自带的特性)。
    单独使用@Builder注解,发现生成了全属性的构造方法。

    加上rollbackFor=Exception.class 可以扩大事物回滚的应用范围

    mysql语句对表中某个字段的值进行批量修改 字段 替换掉的值 替换成为的值
    Update jr_catalog Set catalog_banner = replace(catalog_banner,’jr/‘,’’) where catalog_id= 32

    mysql中对某个字段的值进行切割 获取
    字段名 以什么进行切割 计数 count:计数(为正,从左数,取左边的值;为负,从右数,取右边的值)
    SELECT substring_index( catalog_banner, ‘/‘, - 1 ) banner FROM jr_catalog where catalog_id = 30

    报错信息 : 不允许有匹配 “[xX][mM][lL]” 的处理指令目标
    解决:<?xml version=”1.0” encoding=”UTF-8”?>必须放在.xml文件的第一行最开头的位置!

    mapper.xml 文件中的模糊搜索
    在userMapper.xml文件中新建映射sql的标签


    数据类型转换
    一.将long型转化为int型,这里的long型是基础类型:
    long a = 10; int b = (int)a;
    二.将Long型转换为int 型的,这里的Long型是包装类型:
    Long a = 10; int b=a.intValue();
    三.将int型转化为long型,这里的int型是基础类型:
    int a = 10;long b = (int)a;
    四.将Integer型转化为long型,这里的Integer型是包装类型:
    int a = 10;Long b = a.longValue();

    and user_id <> #{userId} <> 符号在xml文件中相当于 != 转义

    截取list的长度
    List newList = list.subList(0, 8);
    父集合List以fromIndex开始(包含),到toIndex结束(不包含)的部分为返回的子集合。

    mapper.xml文件中特殊sql字符编写
    image.png

    假如表logstatb中moment字段的内容是”年-月-日 时:分:秒”,需要查询匹配“年月日”或“时:分:秒”即可的数据条目,这个时候就可以通过下面的SQL语句实现:
    select from logstatb where date_format(moment,’%Y%m%d’)= ‘20080227’(匹配“年月日”)
    select
    from logstatb where date_format(moment,’%H:%i:%s’)= ‘16:40:01’(匹配“时:分:秒”)
    DATE_FORMAT (date, format)能根据格式串format 格式化日期或日期和时间值date,返回结果串。
    可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date值:

    • %S, %s 两位数字形式的秒( 00,01, . . ., 59)
    • %i 两位数字形式的分( 00,01, . . ., 59)
    • %H 两位数字形式的小时,24 小时(00,01, . . ., 23)
    • %h, %I 两位数字形式的小时,12 小时(01,02, . . ., 12)
    • %k 数字形式的小时,24 小时(0,1, . . ., 23)
    • %l 数字形式的小时,12 小时(1, 2, . . ., 12)
    • %T 24 小时的时间形式(h h : m m : s s)
    • %r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)
    • %p AM 或P M %W 一周中每一天的名称( S u n d a y, Monday, . . ., Saturday)
    • %a 一周中每一天名称的缩写( Sun, Mon, . . ., Sat)
    • %d 两位数字表示月中的天数( 00, 01, . . ., 31)
    • %e 数字形式表示月中的天数( 1, 2, . . ., 31)
    • %D 英文后缀表示月中的天数( 1st, 2nd, 3rd, . . .)
    • %w 以数字形式表示周中的天数( 0 = S u n d a y, 1=Monday, . . ., 6=Saturday)
    • %j 以三位数字表示年中的天数( 001, 002, . . ., 366)
    • %U 周(0, 1, 52),其中Sunday 为周中的第一天
    • %u 周(0, 1, 52),其中Monday 为周中的第一天
    • %M 月名(J a n u a r y, February, . . ., December)
    • %b 缩写的月名( J a n u a r y, February, . . ., December)
    • %m 两位数字表示的月份( 01, 02, . . ., 12)
    • %c 数字表示的月份( 1, 2, . . ., 12) %Y 四位数字表示的年份
    • %y 两位数字表示的年份 %% 直接值“%”
    1. public static void main(String[] args) throws Exception {<br /> ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("provider.xml");<br /> context.start();<br /> System.in.read(); _// 按任意键退出_<br /> }

    mysql 只能使用localhost 进行连接
    进入cmd进行设置:

    1. mysql -uroot -p
    2. 输入密码进入mysql :root
    3. use mysql; //指定数据库
    4. select user,host from user; //展示用户和连接地址
    5. update user set host = ‘%’ where user = ‘root’; //修改user用户的连接地址为 全部
    6. 再次查看是否修改
    7. flush privileges;

    设置cmd窗口的编码为utf-8 : chcp 65001

    cmd窗口发起get 请求:curl -X GET http://192.168.3.101:9979/app/cexamination/listequipNumber=E77206742

    查看某个端口: netstat -ano|findstr “9900”

    将对象的集合转换为id集合
    List ids = dto.getHisList().stream().map(ApUserSearch::getId).collect(Collectors.toList());
    将list3IdList 中不包括的menu2对象进行删除 在list2中
    list2.removeIf(menu2 -> !list3IdList.contains(menu2.getCId()));

    mysql指定某一字段中的 某一个值排序在最前面
    SELECT * from project where project_status=2 order by (case when task_progress=”招标” THEN 1 when task_progress=”等待确认” THEN 2 when task_progress=”工作中” THEN 3 else 4 END),pk_project_id desc

    mysql判断是否包含指定值 like

    strList2 = strList2.stream().filter( s -> !s.equals(“a”)).collect(Collectors.toList());
    将指定条件的元素过滤,再生成新的集合。

    List list = Arrays.asList(“1”,”2”,”3”,”1”,”2”);
    Listlist2 = list.stream().distinct().collect(Collectors.toList());

    1:使用distinct
    select distinct name from a where statesign=0
    查询表a中的name字段,去除重复记录

    将字符串切割成数组,转换为集合时,无法使用removeAll,因为调用Arrays.asList()生产的List的add、remove方法时报异常,这是由Arrays.asList() 返回的是Arrays的内部类ArrayList, 而不是java.util.ArrayList。Arrays的内部类ArrayList和java.util.ArrayList都是继承AbstractList,remove、add等方法AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。java.util.ArrayList重写了这些方法而Arrays的内部类ArrayList没有重写,所以会抛出异常。解决如下:重新定义一个集合
    String[] split = jrAppraiseTask.getClassIdListStr().split(“,”);
    List classIdList = Arrays.asList(split);
    List newClassIdList = new ArrayList<>(classIdList);

    <where>
    is_del = 1
    <choose>
    <when test=”eqOrder == 0”>AND eq_order = 0</when>
    <otherwise>AND eq_order != 0</otherwise>
    </choose>
    <if test=”schoolId != null “>and school_id = #{schoolId}
    </if>
    <if test=”menuId != null “>and menu_id = #{menuId}
    </if>
    <if test=”eqId != null “>and eq_id = #{eqId}
    </if>
    </where>

    steam 排序
    list.stream().sorted(Comparator.comparing(Student::getAge))
    倒序
    list.stream().sorted(Comparator.comparing(Student::getAge).reversed())

    nginx反向代理中 如果 proxy_pass http://127.0.0.1:8080/ 最后带有斜杠,那么不会将location 后的路径拼接到请求路径中,配置后需进行重启。

    nginx配置查看 root 和 alias 区别
    https://blog.csdn.net/caidingnu/article/details/90217251

    mysql 去重关键字 distinct()
    单个条件:select distinct(user_id) from z_user_demonstaction_middle
    多个条件:

    mapper.xml 文件中遍历查询
    <if test=”catalogIdList != null and catalogIdList.size != 0”>
    and c_parent_id in
    <foreach item=”cParentId” collection=”catalogIdList” open=”(“ separator=”,” close=”)”>
    #{cParentId}
    </foreach>
    </if>

    java泛型使用
    private List switchEntity(List list, String type, String tierType){
    List catalogDTOList = new ArrayList<>();
    for (T t : list) {
    SysCatalogMenu catalogMenu = (SysCatalogMenu) t;

    public static
    Collector> toList() {
    return new CollectorImpl<>((Supplier>) ArrayList::new, List::add,
    (left, right) -> { left.addAll(right); return left; },
    CH_ID);
    }

    检查多个字符串是否为空 StringUtils.isAnyBlank(username, password) isAnyBlank(CharSequence… css)

    使用log日志 private static final Logger log = LoggerFactory.getLogger(RemoteFileFallbackFactory.class);

    Fegin启用注解:@EnableFeignClients
    feign 远程调用 注解配置信息
    @FeignClient(contextId = “remoteUserService”,
    value = ServiceNameConstants.SYSTEM_SERVICE,
    fallbackFactory = RemoteUserFallbackFactory.class)

    contextId:调用者id value:调用服务信息 fallbackFactory:指定回调类

    fallbackFactory 和 fallback 区别

    在一台linux服务器中覆盖其他linux服务器的相同文件
    scp IKAnalyzer.cfg.xml node02:$PWD
    scp 文件名称 Linux IP + 端口路径 通过密码方式连接

    vue foreach 遍历数组格式:
    this.catalogList.forEach((item, index, array) => {
    //执行代码
    this.ids.push(item.innerid)
    })
    this.catalogList:遍历数组
    item:数组中的每一项
    index:当前项在数组中的底数
    array:当前数组
    this.ids.push:往数组中添加属值