07 2023 档案
摘要:1. 使用示例 // 加载全局配置⽂件 InputStream resourceAsStream = Resources.getResourceAsStream("myabtis-config.xml"); // 获得 sqlSession ⼯⼚对象 SqlSessionFactory sqlSes
阅读全文
摘要:MyBatis 的级联查询(Cascade Query)是指在一个查询中,通过关联多个表,将查询结果映射到包含嵌套对象的复杂数据结构中。MyBatis 提供了强大的级联查询支持,可以通过 resultMap 和 association、collection 等标签来实现。 下面我们详细讲解 MyBa
阅读全文
摘要:MyBatis 拦截器(Interceptor)是 MyBatis 提供的一个强大的扩展机制,允许开发者在 SQL 执行过程中插入自定义逻辑。通过拦截器,你可以在 SQL 执行前后、参数处理、结果集处理等阶段进行干预,从而实现诸如 SQL 日志记录、分页、权限控制、性能监控等功能。 没有插件的运行图
阅读全文
摘要:MyBatis 缓存是用来减少数据库查询次数,提高性能的一种机制。MyBatis 提供了两级缓存:一级缓存和二级缓存。 1. 一级缓存(Session级缓存) 作用范围:一级缓存是 MyBatis 默认开启的缓存,作用于一个 SqlSession 内部,查询结果会缓存到 SqlSession 的本地
阅读全文
摘要:符号 mybatis 转义字符 " " & & < < > > 还可以用 <![CDATA[ ]]> 表示 <!-- where age >= 18 --> select * from t_user where age >= 18; select * from t
阅读全文
摘要:java 实体 @Data public class CodeTree{ private Long id; private String pid; private String code; private String name; private List<CodeTree> children; }
阅读全文
摘要:MyBatis 提供了强大的动态 SQL 功能,可以根据条件动态生成 SQL 语句。常用的动态 SQL 标签包括: if:条件判断。 where:动态生成 WHERE 子句。 set:动态生成 SET 子句。 trim:自定义字符串截取。 choose、when、otherwise:多条件选择。 f
阅读全文
摘要:在 MyBatis 中,返回值处理是非常重要的一部分。Mapper 接口方法的返回值可以是基本类型、对象类型、集合类型(如 List、Set),甚至是 Map 类型。MyBatis 会根据方法的返回值类型和 XML 文件中的配置,自动将查询结果映射到返回值中。 下面我们详细讲解 MyBatis 中返
阅读全文
摘要:在 MyBatis 中,XML 文件用于定义 SQL 语句,而参数处理是 MyBatis 中非常重要的一部分。MyBatis 支持多种参数类型,包括单参数、多参数、对象类型、List 类型、Map 类型等。此外,MyBatis 还提供了 #{} 和 ${} 两种不同的参数占位符。下面详细说明这些内容
阅读全文
摘要:缓存预热 redis 启动时可以把一些数据放入 redis 中,结合 spring bean 的初始化回调方案是可行的实现方式 实现的 InitializingBean 接口的 afterPropertiesSet()方法 使用 @PostConstruct 注解标注方法 内存回收 随着时间推移,r
阅读全文
摘要:为什么需要持久化,持久化是什么 redis 是基于内存的所以速度快,没有与磁盘交互。但是缺点就是断电或宕机数据就没了,这是不可接受的 持久化就是把内存的数据也存在磁盘上,用于 redis 重启后时恢复数据 Redis 支持两种方式实现数据持久化: RDB 和 AOF RDB(Redis DataBa
阅读全文