mybatis中@MapKey
发表于|更新于
|浏览量:
和睦的家庭空气是世上的一种花朵,没有东西比它更温柔,没有东西比它更适宜于把一家人的天性培养得坚强正直。——德莱塞
继续分享mybatis的知识点:
@MapKey注解:org.apache.ibatis.annotations.MapKey
1 | @MapKey("id") |
得到:Map<ID, 用户>

非常的简单
相关推荐
2021-08-04
日志输出filter
人类经常把一个生涯发生的事,撰写成历史,在从那里看人生;其实,那不过是衣服,人生是内在的——罗曼。罗兰 日记记录过滤器 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677package com.kuang.config.log;import com.alibaba.fastjson.JSON;import com.kuang.common.util.Opt;import com.kuang.common.util.ResponseWrapper;import lombok.extern.slf4j.Slf4j;import org.slf4j.Logger;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http...
2021-07-21
新版Stream
最具挑战性的挑战莫过于提升自我。——迈克尔·F·斯特利 Java9和Java16中更新了Stream中的函数 1234567891011121314151617181920212223242526272829303132// @since 9:无限流现在可以给终止条件啦!注意第二个参数// @since 16:toList简化了.collect(Collectors.toList())// 这里是从0获取到99的元素List<Integer> collect = Stream.iterate(0, i -> i < 100, i -> ++i).toList();System.out.println("iterate&toList:" + collect);// @since 9:takeWhile——只要满足条件就取出元素,直到遇到第一个不满足的元素为止(不受并行流影响,属于有状态中间操作)System.out.print("takeWhile:");collect.parallelStream(...
2021-06-12
parallelStream
我又愿中国青年只是向上走,不必理会这冷笑和暗箭。——鲁迅 我们在开发中经常使用stream去处理我们的集合 这里分享一个并行流:parallelStream 它可以允许我们的声明式编程以多线程并行的方式执行 首先我们可以比较一下性能 1234567891011121314List<Integer> list = new SecureRandom().ints().limit(10000000).boxed().collect(Collectors.toList());long startTime = System.nanoTime();// 求和操作int sum = list.stream().mapToInt(Integer::intValue).reduce(0, Integer::sum);System.out.println("普通stream求和结果:" + sum);long normalStreamEndTime = System.nanoTime();System.out.println("普通stream耗时:&q...
2021-08-28
mybatis-plus部分更新
宁要好梨一个,不要烂梨一筐。积极肯干和忠心耿耿的人即使只有两三个,也比十个朝气沉沉的人强。——列宁 在我们使用mybatis-plus进行开发的时候 可以看到默认的updateById方法是判断属性如果有值则修改,无值则忽略,不修改对应的字段 那如果我们要在该属性没有值得情况下将对应字段置为空的话 就可以使用IService里的这个update的重载 123456789/** * 根据 whereEntity 条件,更新记录 * * @param entity 实体对象 * @param updateWrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper} */default boolean update(T entity, Wrapper<T> updateWrapper) { return SqlHelper.retBool(getBaseMapper().update(entity, upda...
2024-08-31
Disruptor
有教养的头脑的第一个标志就是善于提问。——普列汉诺夫 官方文档: LMAX Disruptor github: GitHub - LMAX-Exchange/disruptor: High Performance Inter-Thread Messaging Library Disruptor是由LMAX Exchange开发的一个高性能并发框架,专门用于处理需要低延迟和高吞吐量的场景。与传统的队列模型相比,Disruptor通过无锁的环形缓冲区实现了极高的性能,适合用在对性能要求苛刻的金融交易系统、日志处理系统等领域。 Disruptor的核心概念 Disruptor框架的核心组件包括: RingBuffer: 环形缓冲区,用于存储事件。它的大小是2的幂次方,以便利用位运算进行快速计算。 Event: 事件对象,代表要处理的数据单元。 Producer: 生产者,负责将事件发布到RingBuffer中。 Consumer: 消费者,从RingBuffer中获取事件并处理。 这些组件协同工作,形成一个高效的数据处理流水线。 引入依赖: 12345<depe...
2021-07-07
thymeleaf调用springBean
没有经过战斗的舍弃,是虚伪的;没有经过苦难的超脱,是轻佻的。——傅雷 昨天写了一篇关于前端精度丢失的博客 今天发现还有个问题,如果我们需要使用thymeleaf在js中使用获取的数据是一个对象 并且里面的属性还是超出16位的Long类型的话,仍然会导致精度丢失 这里我们可以直接写一个JsonManager 12345678910111213141516171819/** * Json转换管理层 * * @author <achao1441470436@gmail.com> * @since 2021/7/7 11:12 */public interface JsonManager { /** * 序列化处理精度丢失 * * @param serializeObj 将要序列化的对象 * @return java.lang.Object * @author <achao1441470436@gmail.com> * @since 2021/7/7 11:16 */ Object ...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog