关联更新封装(三)
太如意的生活便是平凡的生活,太容易获得的东西,便不是贵重的东西。——茅盾 今天是另外一种类型的关联更新封装 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 非常的有意思
spring-guides-accessing-data-jpa
名誉过高,实在是一种害人的负担——福尔特尔 教程网址:https://spring.io/guides/gs/accessing-data-jpa 首先访问 [pre-initialized project](https://start.spring.io/#!type=maven-project&language=java&platformVersion=3.0.1&packaging=jar&jvmVersion=17&groupId=com.example&artifactId=accessing-data-jpa&name=accessing-data-jpa&description=Demo project for Spring Boot&packageName=com.example.accessing-data-jpa&dependencies=data-jpa,h2) 直接点击GENERATE 下载下来,解压并打开项目 首先新建一个Customer类 12...
新版jdk的peek坑
旅游是获得愉悦感和浪漫性的最好媒介——麦金托什 代码如下: 12345678910import java.util.Arrays;import java.util.List;class Scratch { public static void main(String[] args) { List<Integer> list = Arrays.asList(1, 2, 3, 4); long count = list.stream().peek(System.out::println).count(); System.out.println(count); }} 这段代码在java8中则会如下输出 但在java11的时候却只会输出最终的一次count,这说明count并不会导致peek执行 javadoc也写了 所以升级jdk版本的话需要注意这一点
css-diner
即使是最神圣的友谊里也可能潜藏着秘密,但是你不可以因为不能猜测出朋友的秘密而误解了他——贝多芬 分享一个网站css-diner https://flukeout.github.io/ 其能够让你通过益智的方式学习css选择器 例如此处两个盘子,对应的标签为plate,鼠标移动上去还有高亮,我们需要选中所有的盘子则使用plate标签选择器 源码地址:https://github.com/flukeout/css-diner
mybatis中@MapKey
和睦的家庭空气是世上的一种花朵,没有东西比它更温柔,没有东西比它更适宜于把一家人的天性培养得坚强正直。——德莱塞 继续分享mybatis的知识点: @MapKey注解:org.apache.ibatis.annotations.MapKey 123@MapKey("id")@Select("SELECT * FROM user_info")Map<Long, UserInfo> selectIdUserMap(); 得到:Map<ID, 用户> 非常的简单
