手写mybatis - 1 概述&代码
0 缘起
最近在研究mybatis, 所以顺手就照着mybatis写了一遍 orm. 本框架精简了大量mybatis琐碎代码,保留了最核心的结构和接口,让你轻松了解mybatis
1 核心结构
1 配置解析
1.1 核心配置文件解析, mapper 文件解析 XMLConfigBuilder
2 参数处理
2.1 ParameterHandler
3 sql 执行
3.1 SimpleExecutor
3.2 MapperProxy
4 结果集处理
ResultSetHandler
2 包结构示意图
使用示例图
3 框架使用
简单代码
//读取mybatis主配置文件
InputStream is = Resources.getResourceAsStream("MybatisConfig.xml");
//创建SqlSessionFactoryBuilder
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//通过构建者设计模式创建工厂
SqlSessionFactory factory = builder.build(is);
//通过工厂模式创建sqlSession
SqlSession sqlSession = factory.openSession();
//通过动态代理获取对应mapper
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//调用方法
List<User> userList = mapper.getUserList();
//遍历打印结果集
for (User user : userList) {
System.out.println(user);
}
4 源码地址
- ref 参考
https://www.cnblogs.com/fangjian0423/p/mybaits-dynamic-sql-analysis.html
https://www.cnblogs.com/mengheng/p/3739610.html
https://blog.csdn.net/deng8623048/article/details/82423348