Mybatis在Mapper上加注解关闭一级缓存
发表于|更新于
|浏览量:
正如自然忌讳真空一样,人类是讨厌平等的。——《我是猫》
MyBatis的一级缓存是SqlSession级别的缓存,默认是开启的。如果你想在查询时禁用一级缓存,可以使用@Options注解并将flushCache属性设置为true:
1 | import org.apache.ibatis.annotations.Options; |
这样每次执行查询时,都会刷新缓存。
相关推荐
2022-07-09
Collectors.flatMapping
我只想站在比你高的地方,用人类最纯粹的痛苦和烦恼给你一记响亮的耳光。——《阴火》 发现官方竟然没有,那就自己写一个 12345678910public static <T, U, A, R>Collector<T, ?, R> flatMapping(Function<? super T, Stream<? extends U>> mapper, Collector<? super U, A, R> downstream) { BiConsumer<A, ? super U> downstreamAccumulator = downstream.accumulator(); return new Collectors.CollectorImpl<>(downstream.supplier(), (r, t) -> Opp.ofNullable(t).map(mapper).ifPres...
2023-12-04
自动拆箱调用方法原理
没有知识,我们就谈不到欣赏。——别林斯基 今天分享一个冷门基础小知识 我们一般使用boolean的类型,使用结构控制语句条件表达式的时候都是这样: 12if (bar) {} 此处如果是一个基本类型,也就是boolean的时候,完全ok 但如果是一个包装类型的java.lang.Boolean对象,则在bar为null的时候,抛出 1java.lang.NullPointerException 这是因为底层调用了java.lang.Boolean#valueOf(boolean)拆箱 此处 1234@IntrinsicCandidatepublic static Boolean valueOf(boolean b) { return (b ? TRUE : FALSE);} 由于添加了@IntrinsicCandidate注解,所以会调用其进行自动拆箱 因此如果是Boolean包装类型,则调用 12if (bar) {} 等同于 12if (Boolean.valueOf(bar)) {...
2021-01-09
try()catch{}写法
当生活像一首歌那样轻快流畅时,笑颜常开乃易事;而在一切事都不妙时仍能微笑的人,是真正的乐观。——威尔科克斯 曾经我们使用java的IO流复制文件时是这么写的 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849package com.ruben;import java.io.*;import java.util.Optional;/** * @ClassName: FileDemo * @Description: 我还没有写描述 * @Date: 2021/1/10 0010 21:38 * * * @author: <achao1441470436@gmail.com> * @version: 1.0 * @since: JDK 1.8 */public class FileDemo { private static final String FILE_PATH = "D:/file/files/ps/2077....
2022-12-09
Comparable泛型踩坑
善疑人者,人亦疑之;善防人者,人亦防之。——刘基 之前写的Comparable解决泛型限定问题 遇到了这种情况: 这是因为LocalDate没有实现Comparable<LocalDate> 而是由其实现的接口ChronoLocalDate去继承的Comparable<ChronoLocalDate> 并且LocalDate去实现的Serializable,而不是ChronoLocalDate 我们这里直接用的T extends Comparable<T>,此处传了LocalDate就是extends Comparable<LocalDate> 和实现Serializable的不是同一层级,所以我们需要指定为Comparable<? super T>,这个意思就是说允许Comparable里的类型是它的父类或者接口,具体super和extends区别可以看泛型的super和extends 改成Comparable<? super T>后,编译通过
2020-08-21
Bigdecimal
转载,原文 一、简介 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。 二、构造器描述BigDecimal(int) 创建一个具有参数所指定整数值的对象。BigDecimal(double) 创建一个具有参数所指定双精度值的对象。BigDecimal(long) 创建一个具有参数所指定长整数值的对象。BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。 三、方法描述add(BigDecimal) BigDec...
2024-06-26
事务同步器
君子择交,莫恶于易与,莫善于胜己。——王夫之 有时候我们需要在事务执行前后执行一些代码,这时候可以使用事务同步器 1234567891011121314151617181920212223242526272829303132import org.springframework.transaction.support.TransactionSynchronization;public class MyTransactionSynchronization implements TransactionSynchronization { @Override public void beforeCommit(boolean readOnly) { // 事务提交之前的逻辑 System.out.println("Before commit"); } @Override public void beforeCompletion() { // 事务完成之前的逻...
