Mybatis的缓存机制详解

目录一级缓存二级缓存自定义缓存一级缓存MyBatis 包含了一个非常强大的查询缓存特性,它可以非常方便地配置和定制。MyBatis 3 中的缓存实现的很多改进都已经实现了,使得它更加强大而且易于配置。mybatis默认情况下只会开启一级缓存,也就是局部的 session 会话缓存。首先我们要知道什么

java使用stream实现多字段排序

排序方法List<类> list; 代表某集合 //返回 对象集合以类属性一升序排序list.stream().sorted(Comparator.comparing(类::属性一));//返回 对象集合以类属性一降序排序 注意两种写法list.stream().sorted(Com

List循环遍历时移出元素

普通的增强for循环遍历时移出元素报错package com.fridge.controller.cms;import java.util.ArrayList;import java.util.List;/** * @program: mythicalanimals * @description:

SpringBoot将redis和spring-cache集成使用

spring基于注解的缓存对于缓存声明,spring的缓存提供了一组java注解:@Cacheable:触发缓存写入。@CacheEvict:触发缓存清除。@CachePut:更新缓存(不会影响到方法的运行)。@Caching:重新组合要应用于方法的多个缓存操作。@CacheConfig:设置类级别

Spring手动回滚事务,在捕获的异常中记录错误日志

一.业务需求方法中需要处理一定的业务逻辑,如果业务逻辑失败,则相关的业务操作回滚,同时记录一条错误日志二.具体实现//添加事务注解@Transactional(rollbackFor = Exception.class)public void changeBookPrice(Book book, B

使用java封装单链表判定回文

一.需求使用JAVA实现单链表,使用单链表检测字符串是否是回文串二.需求分析回文串最重要的就是对称,那么最重要的问题就是找到那个中心,用快指针每步走两格,当他到达链表末端的时候,慢指针刚好到达中心,慢指针在遍历过程中(快指针到达末端时)把走过的节点进行反向操作,此时从中位点分为前后两部分,此时前半部

Shiro中@RequiresRoles注解相关参数说明

业务背景需要对多个角色授予接口的权限示例@RequiresRoles(value={"admin","user"},logical = Logical.OR)@RequiresPermissions(value={"add","u

布隆过滤器原理

一.布隆过滤器布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。如果想判断一个元素是不是在一个集合里,

transient关键字作用是什么

1.从Serilizable说到transient我们知道,如果一个对象需要序列化,那么需要实现Serilizable接口,那么这个类的所有非静态属性,都会被序列化。注意:上面说的是非静态属性,因为静态属性是属于类的,而不是属于类对象的,而序列化是针对类对象的操作,所以这个根本不会序列化。下面我们可

JSON.toJSONString方法与toString、String.valueOf方法的区别

import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import io.swagger.annotations.ApiModelProperty;import lombok.Data;import javax
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×