MyBatis源码解析
跟读Mybatis源码,并记录自己的理解。
天明少侠
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MyBatis之SqlSourceBuilder
执行流程MapperRegistry#addMapperMapperRegistry#getMapperMapperProxyFactory#newInstanceMapperProxy#invokeMapperMethod#executeDefaultSqlSession#selectOneDefaultSqlSession#selectListBaseExecutor#que...原创 2019-11-06 14:36:32 · 605 阅读 · 0 评论 -
MyBatis之TypeAliasRegistry
MyBatis官方文档MyBatis官方文档ORM框架源码/** * @author Clinton Begin */public class TypeAliasRegistry { private final Map<String, Class<?>> TYPE_ALIASES = new HashMap<String, Class<...原创 2019-01-24 14:25:13 · 263 阅读 · 0 评论 -
MyBatis之XMLConfigBuilder
MyBatis官方文档MyBatis官方文档ORM框架源码public class XMLConfigBuilder extends BaseBuilder { private boolean parsed; private final XPathParser parser; private String environment; private final Re...原创 2019-01-23 20:12:45 · 617 阅读 · 0 评论 -
MyBatis之PropertyNamer
MyBatis官方文档MyBatis官方文档ORM框架源码package org.apache.ibatis.reflection.property;import java.util.Locale;import org.apache.ibatis.reflection.ReflectionException;/** * @author Clinton Begin */...原创 2019-01-20 17:21:20 · 694 阅读 · 0 评论 -
MyBatis之DefaultSqlSessionFactory
MyBatis官方文档MyBatis官方文档ORM框架SqlSessionFactory的默认实现类源码/** * @author Clinton Begin */public class DefaultSqlSessionFactory implements SqlSessionFactory { private final Configuration config...原创 2018-10-21 13:06:03 · 773 阅读 · 0 评论 -
MyBatis之XMLMapperBuilder
MyBatis官方文档MyBatis官方文档ORM框架源码public class XMLMapperBuilder extends BaseBuilder { //成员final变量 private final XPathParser parser; private final MapperBuilderAssistant builderAssistant; pr...原创 2019-01-07 22:31:51 · 979 阅读 · 0 评论 -
MyBatis之DefaultParameterHandler
MyBatis官方文档MyBatis官方文档ORM框架源码/** * @author Clinton Begin * @author Eduardo Macarron */public class DefaultParameterHandler implements ParameterHandler { private final TypeHandlerRegistr...原创 2018-10-19 23:27:14 · 2163 阅读 · 0 评论 -
MyBatis之MapperMethod
MyBatis官方文档MyBatis官方文档ORM框架源码/** * @author Clinton Begin * @author Eduardo Macarron * @author Lasse Voss */public class MapperMethod { private final SqlCommand command; private final ...原创 2018-10-14 21:45:54 · 1097 阅读 · 0 评论 -
MyBatis之DynamicContext
MyBatis官方文档MyBatis官方文档ORM框架源码package org.apache.ibatis.scripting.xmltags;import java.util.HashMap;import java.util.Map;import ognl.OgnlContext;import ognl.OgnlException;import ognl.OgnlR...原创 2018-10-13 20:06:50 · 1107 阅读 · 0 评论 -
MyBatis之BaseTypeHandler
MyBatis官方文档MyBatis官方文档ORM框架源码package org.apache.ibatis.type;import java.sql.CallableStatement;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;imp...原创 2018-10-10 21:43:50 · 6395 阅读 · 0 评论 -
MyBatis之BoundSql
MyBatis官方文档MyBatis官方文档ORM框架源码public class BoundSql { private final String sql; private final List&amp;amp;amp;amp;amp;amp;lt;ParameterMapping&amp;amp;amp;amp;amp;amp;gt; parameterMappings; private final Object par原创 2018-10-09 19:28:10 · 1106 阅读 · 0 评论 -
MyBatis之MetaObject
MyBatis官方文档MyBatis官方文档ORM框架源码public class MetaObject { private final Object originalObject; private final ObjectWrapper objectWrapper; private final ObjectFactory objectFactory; privat...原创 2018-10-09 20:12:06 · 905 阅读 · 1 评论 -
MyBatis之SqlSessionFactory
MyBatis官方文档 MyBatis官方文档 ORM框架 源码package org.apache.ibatis.session;import java.sql.Connection;/** * Creates an {@link SqlSession} out of a connection or a DataSource * @author C...原创 2018-08-18 11:12:51 · 321 阅读 · 0 评论 -
MyBatis之SqlSession
MyBatis官方文档 MyBatis官方文档 ORM框架 源码package org.apache.ibatis.session;import java.io.IOException;import java.io.InputStream;import java.io.Reader;import java.util.Properties;imp...原创 2018-08-18 15:48:11 · 421 阅读 · 0 评论 -
MyBatis之SqlSessionFactoryBuilder
MyBatis官方文档 MyBatis官方文档 ORM框架 源码package org.apache.ibatis.session;import java.io.IOException;import java.io.InputStream;import java.io.Reader;import java.util.Properties;imp...原创 2018-09-01 15:07:08 · 1314 阅读 · 0 评论 -
MyBatis之Transaction
MyBatis官方文档 MyBatis官方文档 ORM框架 源码package org.apache.ibatis.transaction;import java.sql.Connection;import java.sql.SQLException;/** * Wraps a database connection. * Handles the co...原创 2018-09-06 22:36:00 · 583 阅读 · 0 评论 -
MyBatis之JdbcTransaction
MyBatis官方文档 MyBatis官方文档 ORM框架 源码package org.apache.ibatis.transaction.jdbc;import java.sql.Connection;import java.sql.SQLException;import javax.sql.DataSource;import org.apache...原创 2018-09-08 23:33:45 · 462 阅读 · 0 评论 -
MyBatis之动态 SQL
动态 SQLMyBatis 3 动态SQLMyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素涉及的标签ifchoose (when, otherwise)trim (where, set)foreach注意事项mybatis if标签判断...原创 2018-09-12 19:07:43 · 186 阅读 · 0 评论 -
MyBatis之JndiDataSourceFactory
MyBatis官方文档 MyBatis官方文档 ORM框架 源码package org.apache.ibatis.datasource.jndi;import java.util.Map.Entry;import java.util.Properties;import javax.naming.Context;import javax.nami...原创 2018-09-12 20:09:34 · 1154 阅读 · 0 评论 -
MyBatis之PoolState
MyBatis官方文档MyBatis官方文档ORM框架源码package org.apache.ibatis.datasource.pooled;import java.util.ArrayList;import java.util.List;/** * @author Clinton Begin */public class PoolState { prot...原创 2018-10-04 19:35:00 · 798 阅读 · 3 评论 -
MyBatis之PooledDataSource
MyBatis官方文档MyBatis官方文档ORM框架介绍This is a simple, synchronous, thread-safe database connection pool.源码成员方法private static final Log log = LogFactory.getLog(PooledDataSource.class); private ...原创 2018-10-04 20:31:14 · 1129 阅读 · 0 评论 -
MyBatis之PooledConnection
MyBatis官方文档MyBatis官方文档ORM框架介绍PooledConnection实现了InvocationHandler接口源码private static final String CLOSE = "close";private static final Class<?>[] IFACES = new Class<?>[] { Conn...原创 2018-10-05 15:21:47 · 595 阅读 · 2 评论 -
MyBatis之UnpooledDataSource
MyBatis官方文档MyBatis官方文档ORM框架MyBatis数据源种类JNDIPOOLEDUNPOOLED源码静态代码块JVM加载类时会执行这些静态的代码块static { Enumeration&lt;Driver&gt; drivers = DriverManager.getDrivers(); while (drivers.hasMoreE...原创 2018-10-06 19:11:11 · 760 阅读 · 0 评论 -
MyBatis之VFS
MyBatis官方文档MyBatis官方文档ORM框架介绍Provides a very simple API for accessing resources within an application server.源码public abstract class VFS { private static final Log log = LogFactory.getLo...原创 2018-10-08 11:16:41 · 3627 阅读 · 0 评论 -
MyBatis之ManagedTransaction
MyBatis官方文档MyBatis官方文档ORM框架Mybatis管理事务的两种方式使用JDBC的事务管理机制,就是利用java.sql.Connection对象完成对事务的提交使用MANAGED的事务管理机制,这种机制mybatis自身不会去实现事务管理,而是让程序的WEB容器(JBOSS,WebLogic,Tomcat)来实现对事务的管理源码/** * {@lin...原创 2018-10-08 14:13:20 · 1533 阅读 · 0 评论 -
MyBatis源码调用过程
基于源码版本:mybatis-3.4.5.jarcount方法int countPutOnRecords(Map map);定位到org.apache.ibatis.binding.MapperProxy#invoke方法走到 final MapperMethod mapperMethod = cachedMapperMethod(method);,进入方法首次查询的话,从m...原创 2019-10-02 16:59:18 · 169 阅读 · 0 评论