Mybatis源码-级联映射和懒加载2024年6月21日·8953 字·18 分钟MyBatis其中一个比较强大的功能是支持查询结果级联映射。使用MyBatis级联映射,我们可以很轻松地实现一对多、一对一或者多对多关联查询,甚至可以利用MyBatis提供的级联映射实现懒加载。
Mybatis源码-与Spring整合2024年6月19日·5543 字·12 分钟Mybatis与Spring整合,主要关键就是修改BeanDefinition生成对应的代理对象。在MapperFactoryBean的getObject()方法中,调用SqISession对象的getMapper()方法返回一个Mapper动态代理对象。
Mybatis源码-动态SQL实现2024年6月18日·9293 字·19 分钟动态SQL指的是事先无法预知具体的条件,需要在运行时根据具体的情况动态地生成SQL语句。假设我们有一个获取用户信息查询操作,具体的查询条件是不确定的,取决于Web前端表单提交的数据,可能根据用户的Id进行查询,也可能根据用户手机号或姓名进行查询,还有可能是这几个条件的组合。
Mybatis源码-日志实现2024年6月17日·2512 字·6 分钟MyBatis日志模块设计得比较巧妙的一点是当我们未指定使用哪种日志实现时,MyBatis能够按照顺序查找Classpath下的日志框架相关JAR包。如果Classpath 下有对应的日志包,则使用该日志框架打印日志。