2020-12-10

2020-12-10

1.性能优化问题:对于有共同点的数据可以存为Map对象再来进行查询,避免多余的重复查询

优化前

List<Label> collect = dataList.stream()
        .flatMap(x -> {
            List<Label> labels = new ArrayList<>();
            if (x.getPid() == 0) {
                labels.add(x);
                labels.addAll(getSecondLabelsById(x.getId()));
            } else {
                labels.add(x);
                labels.add(baseMapper.selectOne(Wrappers.<Label>lambdaQuery().eq(Label::getId, x.getPid())));
            }
            return labels.stream();
        }).distinct().collect(Collectors.toList());

优化后

List<Label> list = dataList.stream()
        .collect(Collectors.groupingBy(Label::getPid))
        .entrySet().stream()
        .flatMap(entity -> {
            List<Label> labels = new ArrayList<>();

            if (entity.getKey() == 0) {
                labels.addAll(getSecondLabelsById(entity.getKey()));
            } else {
                labels.add(baseMapper.selectOne(Wrappers.<Label>lambdaQuery().eq(Label::getId, entity.getKey())));
            }
            labels.addAll(entity.getValue());

            return labels.stream();
        }).collect(Collectors.toList());

2.Map对象的entryset也可以开启流进行操作,同时存了map的key和value

3.restful风格的代码可以很好的利用url资源

 

1)、RestfulCRUD:CRUD满足Rest风格;

URI:  /资源名称/资源标识       HTTP请求方式区分对资源CRUD操作

|      | 普通CRUD(uri来区分操作) | RestfulCRUD       |
| ---- | ------------------------- | ----------------- |
| 查询 | getEmp                    | emp---GET         |
| 添加 | addEmp?xxx                | emp---POST        |
| 修改 | updateEmp?id=xxx&xxx=xx   | emp/{id}---PUT    |
| 删除 | deleteEmp?id=1            | emp/{id}---DELETE |


| 实验功能                             | 请求URI | 请求方式 |
| ------------------------------------ | ------- | -------- |
| 查询所有员工                         | emps    | GET      |
| 查询某个员工(来到修改页面)           | emp/1   | GET      |
| 来到添加页面                         | emp     | GET      |
| 添加员工                             | emp     | POST     |
| 来到修改页面(查出员工进行信息回显) | emp/1   | GET      |
| 修改员工                             | emp     | PUT      |
| 删除员工                             | emp/1   | DELETE   |

4.mybatis-plus中的Iservice和baseMapper区别

BaseMapper是Mapper层或者叫Dao层的接口。

IService是业务逻辑层接口。

IService的功能更多,具体见mybatis-plus官方文档

5.springdata-mongdb配置好后需

@Autowired
private MongoOperations mongoOperations;

或者

@Autowired
private MongoTemplate mongoTemplate;

才能使用template的功能,而Repository是继承MongoReposit<T, String>来实现相应接口的功能

6.css的margin值是边距的距离 margin: 0px 5px 10px 0px;是上右下左顺时针书写,padding值是内容到边框的距离

补充2020/12/9

7.防止表单提交的方式:屏蔽层,屏蔽按钮

8.学习service里面方法!!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值