平常学到的知识
一、mybatis plus 动态查询今天、昨天、近几天的数据
QueryWrapper<DemoEntity> queryWrapper = new QueryWrapper<>();
// 添加时间(查询类型:1-今天,2-昨天,3-近?天,4-自定义起止时间)
if (entity.getQueryType()!= null) {
switch (entity.getQueryType()) {
case 1:
queryWrapper.apply(true, "TO_DAYS(NOW())-TO_DAYS(create_time) = 0");
break;
case 2:
queryWrapper.apply(true, "TO_DAYS(NOW())-TO_DAYS(create_time) = 1");
break;
case 3:
queryWrapper.apply(true, "DATE_SUB(CURDATE(), INTERVAL "+ entity.getQueryDay() +" DAY) <= date(create_time)");
break;
case 4:
java.text.DateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String startTime = sdf.format(entity.getQueryStartTime());
String endTime = sdf.format(entity.getQueryEndTime());
queryWrapper.apply(true, "create_time between '"+ startTime +"' and '" + endTime + "'");
break;
}
}
二、计算之和的新方法
使用 AtomicInteger类中的addAndGet进行累加
三、Lambda表达式【处理对象】一对多循环遍历,进行对象拼接的时候
可疑先使用 lambda表达式中的filter方法进行过滤,然后再对结果进行处理
map 可以改变stream的类型
filter 不可改变stream的类型
我之前的方法:
将结果根据id进行分组,生成map对象,然后两个for循环进行遍历
使用map处理,结果返回处理好同类型的集合
/****************新学的处理对象的方式*************************************************/
List<DishFlavor> flavors = dishSaveParam.getFlavors();
flavors = flavors.stream().map(f -> {
f.setDishId(dish.getId());
return f;
}).collect(Collectors.toList());
//批量保存
dishFlavorService.saveBatch(flavors);
计算之和使用mapToInt方法
int result = list.stream.mapToInt(Integer::parseInt).sum();
int result = list.stream.mapToInt(Integer::parseInt).sum();
long sum = list.stream().mapToLong(Dog::getId).sum();
//均值
double average = list.stream().mapToInt(Dog::getAge).average().getAsDouble();
四、Get 请求可以使用@RequestParam进行接收参数。但是加上这个注解一定是必传的参数。不加也可以接收到
@RequestBody这个注解必须要用在Post请求中
@DeleteMapping 注解就能够非常便捷的声明能够处理DELETE请求的方法
@PutMapping put请求是从客户端向服务端发送数据,但与post不同的是,put真正的目的其实是执行大规模的替换操作,而不是更新操作。本质是替换已有的数据
@GetMapping 查询
@PostMapping 保存
@DeleteMapping 删除
@PutMapping 编辑
五、使用mybatis plus,不要轻易修改和数据库表对应的实体类 ******************今天已踩坑
如果修改的话,使用注解 @TableFiled(exist = false),声明该字段不是数据库中的字段
六、启动redis的命令
redis-server.exe redis.windows.conf
七、安装nacos之后启动一直报错
1.将nacos数据库导入自己的MySQL中
2.修改配置文件中连接的数据库
3.关闭集群模式 !!!!一定要记得
八、事务处理
除了要在方法上加上 @Transactional 注解
还要在启动类上加上 @EnableTransactionManagement
八、Mybatis Plus中的小于号