2019-11-15

1.map是转类型,reduce是排序和相加。

2.常量和变量进行字符串比较时,常量放前面。swich不能用于比较字符串

3.查看接口的访问时间,可以在调试f12中看

4.每次修改了接口,哪怕是很小很小的地方,也要和前端沟通好,不沟通好往往会造成一些问题;

5.在body自动更新的时候,没有传递相应的字段会导致一些问题。

今天没有传递整改单下面的问题的state,因为出于整改单问题状态字段在政府流程下没用就没传,但是出现了数据库自动补全状态导致整个整改单状态的变化的情况

6.stringutils.isnotempty包括了为空和""的情况。

7.前端body传来的内容,作为map,它的value不是只能为string,可以是对象或者list,要取List直接取就好了。

8.foreach和stream.collect.map()的区别是,。collect要返回结果,是往外走的,或者是map转后的结果,而foreach是不断往里走的,对每个个下面的每一个进行操作

9.在mongodb中每个文档都有一个objectId。

10.记得每天备份一下数据库

11.criteria的in和nin其实是计算两个集合的交集

12.查询数据返回异常信息的时候要和前端沟通好,返回空信息的方式最好一致,不要一个是异常信息的no data,一个是result为空的正常信息

13.page分页返回的数据在前端调用时,是每一页就调一次接口。返回page的data是当前页的数据,count是所有的数据条目。所以在查到分页数据以后再

进行筛选会出现问题。也就是count和显示的条目不一样。

13.sorted((x, y) -> (int) (y.getSmoke().getTotalAmount() - x.getSmoke().getTotalAmount()))

这是降序,从大到小

14.Paging.of(mongoTemplate.find(Query.query(criteria).with(new PageRequest(page, size)).with(new Sort(Sort.Direction.DESC,"createdTime")), Message.class),

                mongoTemplate.count(Query.query(criteria), Message.class));

15.db.getCollection('user').update({"number":{"$regex":"^1013"}}, {$set:{"banned":true}}, false, true)

db.getCollection('user').remove("":"");

15.itext的chunk不换行,phrase会换行,paragraph能设置段前段后距离

16.一定要记得改了前端ip以后,要把Ip加入security中

17.消息队列是存放请求的队列的,不是发送消息

18.每天提交一次代码。增加一个新功能就提交一次代码,描述要写清楚,增加的类要写清楚注释,直观。像配置文件的一些信息,不用提交

19.项目从稳定到又一次开发,需要新建分支

20用map和foreach的关系。如果用map没有用变量来装结果,根本不会执行

21.公司的共用库里面的update(id,T)方法,更新时可能会丢失内部嵌套对象的id转成objectId。

22.flatmap可以把多个流合并成一个流。它的返回值必须是流

23.db.getCollection('score').update(

    // query

    {

        "pollutionSourceId" : "5d75b9032797da0340668294"

    },


    // update

    {$set: {"isRemoved":true}

    },


    // options

    {

        "multi" : true,  // update only one document

        "upsert" : false  // insert a new document, if no existing document match the query

    }

);

24.ctrl+f表内查找

25.nosql不适合多表关联查询。mysql可以

26..stream之前的list为空会报错吗

不会。但是如果是有积极求值的操作,就会出错,比如get().但是很奇怪,max等是可以的。

27.criteria中的字符串为某个值,使用的is

28.javabean中的字段,在使用lomba时,boolean不会自动生成get函数,有set。但是int,long可以有get和set

29.switch可以比较字符串

30.jpa就是持久层矿建,把javabean中的数据持久到数据库,并提供与sql没有紧密耦合的crud操作语句。是接口,hibernate是它的底层实现。

31.前端传requestParam时,字符串不用加双引号。所以postman这种情况不用加双引号

32.@configuration是加载容器时,配置上的。@component是只要有容器,就会有这个,相当于xml文件中的

33. 启动本地服务

mongod -f "C:\Program Files\MongoDB\Server\4.0\mongo.conf"

备份恢复

mongorestore -h <:port> -d dbname

34.db.getCollection('user').update(

    // query

    {

        $and:[{"username":{$ne:"panqi"}},{"username":{$ne:"admin"}}]

    },


    // update

    {$set:{"isRemoved":true}

    },


    // options

    {

        "multi" : true,  // update only one document

        "upsert" : false  // insert a new document, if no existing document match the query

    }

);

35.c盘的权限操作,我是user用户

36.

mongoexport --host 192.168.0.121 --port 27017 --db env-assistor --collection polygon --out polygon.json

mongoimport --host 127.0.0.1 --port 27017 --db env-assistor --collection polygon --file polygon.json

37.

.map(ExhaustFacility::getTubeNumber)

ids.stream().forEach(this::delete);

!user.getRoles().stream().anyMatch(Consts.ROLE_ADMINISTRATOR::equalsIgnoreCase)

.map(ObjectId::new)

38.list.addall();

39.能用lamda的尽量用lamda。lamda中的map等可以写成上面形式的尽量写成上面形式。lamda中可以用表达式的尽量不要用方法体。

40.if else太长,可以用switch

41.记得用了redis以后,要开启redis服务。还要有相应的配置(yml文件中的以及相应的@configuration类)

redis-server.exe redis.windows.conf

42,windows中的路径用\,linux中用/,在程序语言中用\\

43. productPlans.stream()

                                    .map(ProductPlan::getName)

                                    .collect(Collectors.joining(",")))

44.user.getRoles().stream().noneMatch(Consts.ROLE_ADMINISTRATOR::equalsIgnoreCase))

45.stream的peek和map相比,就是多了返回值。

46. try {

            future.get();

        } catch (InterruptedException | ExecutionException e) {

            e.printStackTrace();

        }

47.Collections.singletonList("VOCs")集合转成list

48.一个 if 语句的括号从文件头到文件尾,并且大多数情况下,我们要进行验证的假设,只是属于偶然性事件,又或者我们仅仅想测试一下,一些最坏情况是否发生,所以这里有了 assert()。

assert 宏的原型定义在 assert.h 中,其作用是如果它的条件返回错误,则终止程序执行。

49.对于值为boolean的表达式在if语句中,不用让结果==true/false,直接根据值返回就可以。

你可能感兴趣的:(2019-11-15)