![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis源码
文章平均质量分 58
Men-DD
这个作者很懒,什么都没留下…
展开
-
Mybatis源码分析(七): 提问
1.什么是 MyBatis?MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架。2.讲下 MyBatis 的缓存MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面,默认就有, 二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现 Serializable 序列化接口(可用来保存对象的状态),可在它的映射文件中配置<cache/>3.Mybatis 是如何进行分页的? 分页插件的原理是什么?Mybatis 使用 R原创 2022-02-19 01:50:24 · 58 阅读 · 0 评论 -
Mybatis源码分析(六)执行
二级缓存-》一级缓存都查不到到数据库查queryFromDatabase(ms, parameter, rowBounds, resultHandler, key, boundSql) private <E> List<E> queryFromDatabase(MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, CacheKey key, BoundSql b原创 2022-02-08 14:11:37 · 171 阅读 · 0 评论 -
Mybatis源码分析(五)BoundSql
执行操作 User user = session.selectOne("com.mx.mapper.UserMapper.selectById", 1); @Override public <E> List<E> selectList(String statement, Object parameter, RowBounds rowBounds) { try { /** * 第一步:通过我们的statement去我们的全局配置类中获取Mapp原创 2022-02-08 11:32:04 · 642 阅读 · 0 评论 -
Mybatis源码分析(四)插件 Interceptor
自定义插件<plugins> <plugin interceptor="com.mx.plugins.MxPagePlugin" ></plugin> </plugins>/** * Intercepts 分页 读写分离等待 * * 增强对象 Signature Type * Executor * StatementHandler * ParameterHandler * ResultHandler * 增强方法 Signatu原创 2022-02-08 09:56:31 · 111 阅读 · 0 评论 -
Mybatis源码分析(三)Executor & 缓存
Executor 执行器使用配置 <!-- SIMPLE 普通执行器:默认 REUSE 重用预处理处理语句执行器(PreparedStatement) BATCH 重用批量处理执行器 --> <setting name="defaultExecutorType" value="REUSE"/>使用String resource = "mybatis-config.xml";//将XML配置文件构建为Configuration配置类Reader reader原创 2022-02-08 04:37:11 · 551 阅读 · 0 评论 -
Mybatis源码分析(二)初始化
Mybatis 初始化解析//将XML配置文件构建为Configuration配置类//通过加载配置文件流构建一个SqlSessionFactory 解析xml文件String resource = "mybatis-config.xml";Reader reader = Resources.getResourceAsReader(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build原创 2022-02-08 03:25:28 · 438 阅读 · 0 评论 -
Mybatis源码分析(一) JDBC Mybatis 简介
JDBC流程 Connection conn=null; PreparedStatement pstmt=null; try { // 1.加载驱动 Class.forName("com.mysql.jdbc.Driver"); // 2.创建连接 SPI conn= DriverManager.getConnection("jdbc:mysql://mysql.host:3306/db_mx", "db_username", "db_psd");原创 2022-02-08 02:25:03 · 1269 阅读 · 0 评论