1.mapper文件中写sql语句时,遇到特殊字符时,如:< 等,建议使用<![CDATA[ ..... ]]>,将包裹的内容不被解析器解析

<select id="getByIp" resultType="IpAddress">

        select area, operator

        from ip_address

        where INET_ATON(#{ip}) > ip_start_num

          and INET_ATON(#{ip}) <![CDATA[ < ]]> ip_end_num

    </select>

2.使用group by去重时,只有在group by从句后面的字段才能写在select 后面,为了解决这个问题,可以在select后面用

any_value(想要查询的字段)函数包裹字段,即可查询

3.mybatisplus 临时禁用分页功能,给page的size设置成-1就行了

4.swagger项目测试接口,后端项目地址+/swagger-ui.html 如:127.0.0.1:8080/swagger-ui.html

5.mysql解析json

(

CASE

	

	WHEN ( f.`hbr` = '' ) THEN

	'' ELSE ifnull(

		REPLACE (

			REPLACE ( REPLACE ( json_extract ( f.`hbr`, '$[*].name' ), '"', '' ), '[', '' ),

			']',

			'' 

		),

		'' 

	) 

END 

	) AS hbr

6.抽取指定字段变为下拉框的label和value

/*

     * 从集合取出自定字段作为下拉框的value-label

     * @origin 数据集合

     * @value  指定哪个字段为value

     * @label  指定哪个字段为label

     */

    public List<Map> transformSelect(List<Map> origin, String value, String label) {

        if (!origin.isEmpty()) {

            List<Map> target = new ArrayList<>();

            for (Map m : origin) {

                Map select = new HashMap();

                select.put("value", m.getOrDefault(value, ""));

                select.put("label", m.getOrDefault(label, ""));

                target.add(select);

            }

            return target;

        }

        return null;

    }

7.List<Map>和List<对象> 相互转换

前提:引入

 <dependency>

      <groupId>com.alibaba</groupId>

       <artifactId>fastjson</artifactId>

       <version>1.2.37</version>

    </dependency>

1)map集合转对象集合

List<T>  needDtos = JSON.parseArray(JSON.toJSONString(Map集合), T.class);

2)对象集合转map集合

8.对象集合抽取字段,组成List<Map>

List<Map> map= 对象集合.stream().map(it -> {

         Map<String, Object> apiMap = new HashMap<>();

         apiMap.put("id",it.getId());

         apiMap.put("name",it.getName());

         return apiMap;

 }).collect(Collectors.toList());

8.docker logs -f --tail=100 镜像ID //查看后台

9.ssh -R 80:127.0.0.1:8023 sh@sh3.neiwangyun.net 外放接口,改端口即可

10.启动nacos

1)启动原始nacos

docker run -d --name nacos -p 8848:8848 -e MODE=standalone nacos/nacos-server

2)拷贝原始文件到宿主机,在宿主机上更改application.properties配置

docker cp nacos:/home/nacos /home/nacos 后面一个是宿主机地址

3)再次启动nacos,同时进行容器卷映射,下次再启动时直接从第三步启动即可

docker run -d --name nacos -p 8848:8848  -p 9848:9848 -p 9849:9849 --privileged=true -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -v /home/nacos/nacos/logs/:/home/nacos/logs -v /home/nacos/nacos/conf/:/home/nacos/conf/ --restart=always nacos/nacos-server

11.启动redis,并挂载容器卷

1)启动redis交互页面

docker run -p 6379:6379 --name redis -v /home/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data --restart=always -it redis bash

docker run -p 6379:6379 --name redis -v /home/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

2)以配置文件启动redis

redis-server /etc/redis/redis.conf