手写mybatis - 1 概述&代码

手写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
   

image

2 包结构示意图

temp.png


使用示例图

example.png

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 源码地址

https://github.com/junjun888/small-framework

  • 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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值