dataCompare
真正的好人,是那个和所有的大家认为坏的人在一起的人。——纪伯伦 分享一个项目:https://gitee.com/dromara/data-compare 介绍dataCompare 是一个大数据数据比对和数据探测平台 (1)支持hive表数据比对,mysql、Doris 数据比对,实现自动化配置进行数据比对,避免频繁写sql 进行处理 (2)支持少量配置即可实现数据探测 对比结果展示:
mybatis的call-setters-on-nulls
一个结婚以后的朋友,无论如何不是从前的朋友了,男人的灵魂现在羼入了一些女人的灵魂。——罗曼·罗兰 我们在使用org.apache.ibatis.session.SqlSession#selectMap(java.lang.String, java.lang.String) 时会遇到字段值为null的时候,这个时候返回的map会丢失掉对应的entry节点 只需要配置mybatis.configuration.call-setters-on-nulls为true即可保留对应的entry
mp中typeHandler自动获取字段类型
相熟的人表现出恭而敬之的样子总是叫人感到可笑。——歌德 一般我们在实体类上指定 @TableName(autoResultMap = true) 即可使用typeHandler指定转换器,然后就可以自动转换了 例如List<XXX>的Json可以如下使用: 12@TableField(typeHandler = JsonListHandler.class)private List<CalcUnitEnum> calcUnits; 这里JsonListHandler如下,JacksonUtil就懒得赘述了: 1234567891011121314151617181920212223242526import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;import java.util.List;/** * @author VampireAchao * @since 2023/3/20 17:43 */public class JsonListHandler<...
svelte
我宁肯忘掉亏欠自己的而不愿忘掉亏欠别人的。——贝多芬 分享一个前端框架svelte 官网:https://svelte.dev/ 仓库链接:https://github.com/sveltejs/svelte 语法非常的简单容易上手 12345<script> let name = 'world';</script><h1>Hello {name}!</h1> 同样是响应式 非常的有意思 使用也很简单 1234npm create svelte@latest myappcd myappnpm installnpm run dev
关联更新封装(三)
太如意的生活便是平凡的生活,太容易获得的东西,便不是贵重的东西。——茅盾 今天是另外一种类型的关联更新封装 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768public static <T, K extends Comparable<? super K> & Serializable, S> BaseDbBO<S> saveSub(SubBO<T, K, S> bo) { val subIds = Steam.of(bo.getMainList()) .flat(data -> Steam.of(bo.getSubIdGetters()).map(f -> f.apply(data))) .nonNull().toList(); val su...
动态mapper优先级问题
甚至不愿听朋友说真话的人,是真正不可救药的人——西塞罗 之前使用byte-buddy实现mybatis-plus动态mapper 但是使用过程中发现一个问题,相关的issue链接: https://gitee.com/VampireAchao/stream-query/issues/I6EJ27 在项目中已经定义了Mapper,如果在动态mapper已经注入的情况下,没法再通过Database.execute方法拿到,而是拿到的动态Mapper 进而导致大部分只要是基于execute方法的函数都是这样 于是为了解决这个问题,在DefaultSqlInjector处进行了处理 在io.github.vampireachao.stream.plugin.mybatisplus.engine.configuration.StreamPluginAutoConfiguration下,当前的代码如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051...
关联更新封装(二)
仁者爱人,有礼者敬人。爱人者,人恒爱之;敬人者,人恒敬之。——孟子 前两天写了关联表更新封装 今天写个另一种类型的 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108public static <T, K extends Comparable<? super K> & Serializable, A, L extends Comparable<? super L> & Serializable>BaseDbBO<A> saveAttach(AttachBO<T, K, A> bo) &...
The file will have its original line endings in your working directory
气忌盛,心忌满,才忌露。——吕坤 我每次部署博客的时候都会有很多的 1The file will have its original line endings in your working directory 被输出 如何去掉? 执行: 1git config --global core.autocrlf false
关联表更新封装
凭自己的本事和正当手段挣来的钱财,可以使我们赢得道义和幸福——阿基兰 分享一个关联更新函数 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174package com.ruben.simplestreamquery...
BibiGPT
你若想赢得一个人的心,就得允许他把你驳倒——迪斯累利 分享一个项目: 🤖 BibiGPT · 音视频内容一键总结 b.jimmylv.cn🎉 (原 BiliGPT),现已经支持:哔哩哔哩丨 YouTube 视频内容一键总结,“省流神器 & 课代表”。 🚧 开发中:支持播客丨会议丨本地音视频文件等输入,Prompt 和输出端均在持续迭代中,敬请期待! 备用地址:https://chat-bilibili-video.vercel.app 可以粘贴bilibili的链接,它会自动帮你进行总结 例如我自己的视频:https://www.bilibili.com/video/BV1QN411o7yr 非常的有意思
