feat(study): 添加 Guava缓存和 MyBatis 实体类

- 新增 CacheBuilder 类,实现基于 Guava 的缓存功能
- 添加 Entity 类,用于 MyBatis 数据库操作
- 实现 String 类,提供字符串处理方法
This commit is contained in:
cuijiawang 2025-03-27 14:07:04 +08:00
parent fe169aa12f
commit db8f0a401f
3 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1,23 @@
package stu.base.java.lang;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import java.util.Arrays;
/**
* @Author cuiJiaWang
* @Create 2025-03-04 16:45
*/
public class String {
public java.lang.String splitAndSort(java.lang.String str) {
if (StringUtils.isBlank(str)) {
return "";
}
//保留两位小数
java.lang.String preferentialPrice = java.lang.String.format("%.2f", str);
java.lang.String[] strArr = str.trim().split(",");
Arrays.sort(strArr);
return java.lang.String.join(",", strArr);
}
}

View File

@ -0,0 +1,24 @@
package stu.guava;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.google.common.collect.Maps;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* @Author cuiJiaWang
* @Create 2025-03-04 15:51
*/
public class CacheBuilder {
LoadingCache<String, Map<String, Object>> locationLoadingCache = com.google.common.cache.CacheBuilder.newBuilder()
.maximumSize(200)
.expireAfterWrite(20, TimeUnit.SECONDS)
.build(new CacheLoader<String, Map<String, Object>>() {
public Map<String, Object> load(String key) throws Exception {
// 这里可以放置数据加载逻辑例如从数据库或网络获取数据
return Maps.newHashMap();
}
});
}

View File

@ -0,0 +1,17 @@
package stu.mybatis;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
/**
* @Author cuiJiaWang
* @Create 2025-03-03 14:03
*/
public class Entity {
private String id;
// 在项目开发中我们经常需要将某个字段设置为null或空字符串但是因为我们的Mybatis-Plus默认会有isEmpty()校验所以会将null的字段忽略掉不进行更新
// 该方法在所有新增或更新时都会忽略空验证慎用
@TableField(insertStrategy = FieldStrategy.IGNORED)
private String name;
}