el-date-picker
但我拒绝!我岸边露伴最喜欢的事情之一,就是向那些自以为是的家伙说,NO!
但我拒绝!我岸边露伴最喜欢的事情之一,就是向那些自以为是的家伙说,NO!——岸边露伴
讲讲常用的el-date-picker属性
例如我们禁用今天前的日期,以及不让选择当前时间之前的时间点
<el-date-picker v-model="date" type="datetime" @change="disableTime" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间" :picker-options="{disabledDate:(v)=>v.getTime() < new Date().getTime() - 86400000}" default-time= ...
groupingBy
老老实实最能打动人心。——莎士比亚
你们可能知道Collectors.groupingBy是干嘛的了,没错分组
例如我们需要把用户根据age分组
SecureRandom random = new SecureRandom();List<User> users = random.ints(20,25).parallel().mapToObj(r -> User.builder().name(Faker.instance(Locale.CHINA).name().username()).age(r).build()).limit(20).collect(Collectors.toList());Map<Integer, List<User>> listMap = users.stream().collect(Collectors.groupingBy(User::getAge));listMap.forEach((k, v) -> System.out.println(k + ":" + v));
这里看到我们成 ...
获取不同时区的时间
真诚与朴实是天才的宝贵品质。——斯坦尼斯拉夫斯基
System.out.println("下面的是两个默认时区的LocalDateTime");final LocalDateTime localDateTime = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault());final LocalDateTime localDateTime1 = LocalDateTime.now();System.out.println(localDateTime);System.out.println(localDateTime1);System.out.println("下面的是两个通过Date.from()拿到的默认时区的Date");// 这里需要使用ZonedDateTimefinal Date from = Date.from(Instant.from(ZonedDateTime.now()));// 这里需要使用OffsetDateTimefinal Date ...
elementUI去掉input上下按钮
快乐就像香水,不是泼在别人身上,而是洒在自己身上。——拉尔夫·沃尔多·爱默生
我们使用el-input当type为number时
会出现右边这种箭头,影响美观
我们可以使用样式穿透
<el-input type="number"></el-input>
/deep/ input::-webkit-inner-spin-button { -webkit-appearance: none;}
然后就可以去掉这两个箭头啦
mybatis-plus最新版配置分页最大限制条数
价值产生信心,信心产生热忱,而热忱则征服世界。——华特·H·柯亭姆
开发中,我们对于分页,经验老道的程序员会限制分页最大数据条数,避免被攻击、或是数据量太大造成各种可避免问题
mybatis-plus中配置分页最大限制非常容易,在配置分页的地方
加上如下代码即可
final PaginationInnerInterceptor innerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);innerInterceptor.setMaxLimit(200L);interceptor.addInnerInterceptor(innerInterceptor);
全部代码配置在我之前的博客可以找到
mybatis-plus默认查询方式
从善如登,从恶如崩。一一《国语》
我们在使用mybatis-plus条件构造器默认查询的时候
如果给的实体有值,则会根据实体内的值用对应字段去=查询
就像这样
mpUserService.list(Wrappers.lambdaQuery(UserPO.builder().username("hino").build()));mpUserMapper.selectList(Wrappers.lambdaQuery(UserPO.builder().username("ruben").build()));
如果我们想要指定默认查询为LIKE
则可以在对应属性上加上注解@TableField并指定condition = SqlCondition.LIKE,就像这样
package com.ruben.pojo.po;import com.baomidou.mybatisplus.annotation.*;import com.ruben.pojo.BaseEntity;import com.ruben.pojo.UserInfo;import ...
js移除指定key
尽管世界和人生是坏透了,其中却有一件东西永远是好,那便是青春——显克维奇
可以看到delete我们的ruben.age后,ruben只剩个name了
一般常用与在作为请求参数时,服务端可能不需要这个参数场景下使用
mybatis-plus从3.1升级到3.4.2
虚荣是一件无聊的骗人的东西;得到它的人,未必有什么功德,失去它的人,也未必有什么过失。——莎士比亚
<!-- mybatis-plus --><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version></dependency>
然后我们的租户、分页等配置需要修改为如下新写法
package com.ruben.config;import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;import com.baomidou.mybatisplus.core.parser.ISqlParser ...
mybatis-plus代码生成器
一个能思想的人,才真是一个力量无边的人。——巴尔扎克
你是否对每天重复单表CRUD,改mapper.xml字段已经感到厌烦?
那么快点来整mybatis-plus代码生成器吧!
首先到官网
并且从github拉下来最新的代码~
没错,最新的!
https://github.com/baomidou/generator
当然,除了github,我们也可以选择gitee
https://gitee.com/baomidou/generator
然后用尽你的全力去点clone——哦!中文是克隆
然后你可以喝杯水
虽然代码拉下来了,但我们还需要使用gradle加载依赖~
此时我们可以看看README.md
这告诉了我们如何使用
我们按照说明新建一个启动类(当然如果你想新建一个测试类也可以,这不重要~)
如果你是新建的启动类,那么你需要去build.gradle里找到这些dependencies
注意,这里有两个build.gradle,我们需要选择这一个
然后把testImplementation改为implementation
你也可以改你需要的那个,例如mysql
如果 ...
模拟slf4j+logback输出的日志
宿命论是那些缺乏意志力的弱者的借口。——罗曼·罗兰
实现
package com.ruben.utils;import lombok.extern.slf4j.Slf4j;import java.lang.management.ManagementFactory;import java.lang.management.RuntimeMXBean;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;/** * @ClassName: LineUtils * @Description: 我还没有写描述 * @Date: 2021/3/17 0017 21:45 * * * @author: <achao1441470436@gmail.com> * @version: 1.0 * @since: JDK 1.8 */@Slf4jpublic class LineUtils { public static void print() { prin ...