简介

Mybatis是一个半自动映射的ORM框架,属于Java中jdbc层面的封装,半自动指的是Mybatis需要程序员手动配置SQL、POJO的映射关系。相比于全自动映射的ORM框架Hibernate,Mybatis更加容易上手,使用更加灵活。

设计架构

SQLSessionFactory
SQLSession
映射器

动态SQL

对于复杂查询、或者多场景状态支持Mybatis提供了一个非常巧妙的设计,提前在XML中做好逻辑判断,根据运行时参数来形成最终使用的SQL语句,减少了重复代码,大大提高了灵活性,具体使用可以直接参考:
官方文档 https://mybatis.org/mybatis-3/zh/dynamic-sql.html

设计模式

构建者模式(Builder)
工厂模式(Factory)
单例模式(Singleton)
代理模式(Proxy)
组合模式(Composite)
适配器模式(Adaptor)
装饰者模式(Decorator)
迭代器模式(Iterator)
模板方法(Template Method)

运行原理

参考文档:https://mybatis.org/mybatis-3/zh/index.html