由 Mybatis 源码畅谈软件设计(九):“能用就行” 其实远远不够
到本节 Mybatis 源码中核心逻辑基本已经介绍完了,在这里我想借助 Mybatis 其他部分源码来介绍一些我认为在编程中能最快提高编码质量的小方法,它们可能比较细碎,希望能对大家有所启发。
到本节 Mybatis 源码中核心逻辑基本已经介绍完了,在这里我想借助 Mybatis 其他部分源码来介绍一些我认为在编程中能最快提高编码质量的小方法,它们可能比较细碎,希望能对大家有所启发。
小编上一篇文章分享了利用mybatis拦截器实现数据脱敏,这次小编在数据脱敏的基础上进行数据加减密。思路就是保存的时候对数据进行加密,查询的时候对数据进行解密,如果要脱敏就进行脱敏。
mybatis mybatis拦截器 加减 2025-01-02 22:18 4
DepartmentMapper.xml,两条 SQL:一条根据 ID 查询;一条清除缓存,标记了fulshCache标签,将其设置为 true 后,只要语句被调用,都会将本地缓存和二级缓存清空(默认值为 false)
本节我们来了解 Mybatis 是如何处理 ResultMap 的循环引用,它的解决方案非常值得在软件设计中参考。另外作为引申,大家可以了解一下 Spring 是如何解决 Bean 的循环注入的。
本节我们探究动态 SQL 的执行流程,由于在前一节我们已经对各个组件进行了详细介绍,所以本节不再赘述相关内容,在本节中主要强调静态 SQL 和动态 SQL 执行的不同之处。在这个过程中,SqlNode 相关实现值得关注,它为动态 SQL 标签都定义了专用实现类
MyBatis 拦截器是一种插件机制,用于在 MyBatis 执行 SQL 语句时对其进行拦截、修改或增强。拦截器可以插入到 MyBatis 的执行过程中的不同位置,从而实现自定义的行为,例如记录日志、修改 SQL 查询、增强性能等。
脱敏 mybatis mybatis拦截器 2024-12-27 12:35 3
位于云南省红河哈尼族彝族自治州石屏县的异龙湖是云南九大高原湖泊之一,近年来,通过当地一系列行之有效的治理措施,异龙湖的水质得到显著改善,生态环境持续向好。这里不仅成为了众多珍稀鸟类栖息的家园,也吸引着越来越多游客的目光。
本节我们来介绍 org.apache.ibatis.mapping.Mappedstatement(映射SQL语句声明的类),它是 MyBatis 框架中的一个核心类,也是向后不断学习 Mybatis 源码的基础。在这部分源码中,最值得关注的设计原则是“信息隐
物流的分拣业务在某些分拣场地只有一个数据源,因为数据量比较大,将所有数据存在一张表内查询速度慢,也为了做不同设备数据的分库管理,便在这个数据源内创建了多个不同库名但表完全相同的数据库,如下图所示:
数据源 mybatis mybatis拦截器 2024-12-11 09:45 4