mybatis实现原理

mybatis是对jdbc的一种底层封装。

原理流程:
1.SqlSessionFactoryBuilder
每一个MyBatis的应用程序的入口是SqlSessionFactoryBuilder。
它的作用是通过XML配置文件创建Configuration对象,然后通过build方法创建
SqlSessionFactory对象。

2.SqlSessionFactory
主要功能是创建SqlSession对象

3.SqlSession
对象的主要功能是完成一次数据库的访问和结果的映射,默认创建DefaultSqlSession 并且开启一级缓存,创建执行器 、赋值。 SqlSession有一个重要的方法getMapper,应用程序获得Mapper对象后,就应该通过这个Mapper对象来访问数据库的增删改查操作

 	Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
 	sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
    sqlSessionFactory = sqlSessionFactoryBuilder.build(reader);
    SqlSession session= sqlSessionFactory.openSession();  
	UserDao userDao = session.getMapper(UserDao.class);  
	List<UserDto> users = userDao.queryUsers(user);//增删改查等操作
	

4.Executor
主要功能是调用StatementHandler访问数据库,并将查询结果存入缓存中(如果配置了缓存的话)。

5、StatementHandler
StatementHandler是真正访问数据库的地方,负责对JDBC statement的操作

  • ParameterHandler 负责对用户传递的参数转换成JDBC Statement 所需要的参数
  • ResultSetHandler *负责将JDBC返回的ResultSet结果集对象转换成List类型的集合;
  • TypeHandler 负责java数据类型和jdbc数据类型之间的映射和转换
    在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值