mybatis
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
最大特点在于手动编写 SQL,提供映射标签,实现对象与数据库的 ORM(Object Relational Mapping)字段关系映射
这篇文章基于公众号 Java 技术栈《从 0 开始手写一个 Mybatis 框架,三步搞定!》 详情点我
这里做了个项目 demo,在子 module 下
原理以及架构图
这里就主要以架构图和原理来进行讲解引述。
Bean 类
- Function
存储 sql
- MapperBean
Interface+
List<Function>
- Mapper【UserMapper】
做一个 mapper 接口类,关联到 mapper.xml
- User
用户 bean
执行器
- Executor
<T> T query(String statement, Object parameter);
- MyExecutor
实现接口,建立 connection,并执行 sql