![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis
_jan_
这个作者很懒,什么都没留下…
展开
-
mybatis3.4.1源代码 - 内置的Executor
org.apache.ibatis.executor.BatchExecutor 用于批量执行org.apache.ibatis.executor.ReuseExecutor 用于复用Statementorg.apache.ibatis.executor.CachingExecutor 用于缓存控制(由类上的 @CacheNamespace 或者 @CacheNamespaceRef 控制)org.apache.ibatis.executor.SimpleExecutor 用于简单执行(默认)...原创 2021-02-08 11:04:01 · 190 阅读 · 0 评论 -
mybatis3.4.1源代码 - 插件的安装、执行
插件安装器public class InterceptorChain { private final List<Interceptor> interceptors = new ArrayList<Interceptor>(); public Object pluginAll(Object target) { // 1.target === Executor for (Interceptor interceptor : inte原创 2021-02-06 10:54:52 · 115 阅读 · 0 评论 -
mybatis-plus 3.4.0 - SqlSource生成器
// return Stream.of(// new Insert(),// new Delete(),// new DeleteByMap(),// new DeleteById(),// new DeleteBatchByIds(),// new Update(),// new UpdateById(),// new SelectById(),// .原创 2021-02-05 15:51:14 · 235 阅读 · 0 评论 -
mybatis-plus 3.4.0 - 通过lambda表达式解析获取字段名
package cn.java.demo.mybatis_plus.internal;import cn.java.demo.mybatis_plus.mapper.entity.OrderEntity;import com.baomidou.mybatisplus.core.toolkit.LambdaUtils;import com.baomidou.mybatisplus.core.toolkit.support.ColumnCache;import com.baomidou.myb...原创 2021-02-05 15:44:05 · 3934 阅读 · 2 评论 -
mybatis3.4.1源代码 - ReturnType、ResultMap.getType()
ReturnType == ResultMap.getType()1、实例类2、list、map的value值类型package cn.java.demo.ibatis.internal.resolve_return_type;import java.util.ArrayList;import java.util.List;import java.util.Map;public interface UserMapper { // --- void void me.原创 2021-02-04 14:50:05 · 195 阅读 · 0 评论 -
mybatis3.4.1源代码 - MetaObject、MetaClass
MetaObject:用于访问对象信息,如:读取对象属性、设置对象属性MetaClass:用于访问类信息,如:获取gettter方法、获取setter方法package cn.java.demo.ibatis.internal;import lombok.Data;import lombok.extern.slf4j.Slf4j;import org.apache.ibatis.executor.resultset.ResultSetWrapper;import org.apa...原创 2021-02-04 13:17:58 · 216 阅读 · 1 评论 -
mybatis3.4.1源代码 - 对 <if>、${} 等标签的擦除
org.apache.ibatis.scripting.xmltags.DynamicSqlSourceorg.apache.ibatis.scripting.xmltags.TrimSqlNodeorg.apache.ibatis.scripting.xmltags.IfSqlNodeorg.apache.ibatis.scripting.xmltags.ForEachSqlNode。。。。package cn.java.demo.ibatis.internal.sqlnode;.原创 2021-02-04 11:04:49 · 240 阅读 · 0 评论 -
mybatis3.4.1源代码 - 参数处理器、结果集处理器
绑定参数org.apache.ibatis.scripting.defaults.DefaultParameterHandler#setParameterspublic void setParameters(PreparedStatement ps) { ErrorContext.instance().activity("setting parameters").object(mappedStatement.getParameterMap().getId()); List...原创 2021-02-03 19:31:07 · 225 阅读 · 1 评论 -
mybatis3.4.1源代码 - ognl
${...} 是居于ognl表达式替换的package cn.java.demo.ibatis.internal.ognl;import lombok.extern.slf4j.Slf4j;import org.apache.ibatis.ognl.OgnlContext;import org.apache.ibatis.ognl.OgnlException;import org.apache.ibatis.ognl.OgnlRuntime;import org.apache.ibatis原创 2021-02-03 19:01:17 · 254 阅读 · 0 评论 -
mybatis3.4.1源代码 - XxxMapper.java 方法支持多参数的处理机制
mybatis对于《多参数》的调用,最后会映射为《一维》的参数调用。代理// org.apache.ibatis.binding.MapperMethod#executepublic Object execute(SqlSession sqlSession, Object[] args) { Object result; switch (command.getType()) { case INSERT: { Object param = method.conv..原创 2021-02-03 17:13:52 · 71 阅读 · 1 评论 -
mybatis-plus 3.4.0 - 生成SqlSource并添加到mybatis
Mapper.class 类的注解处理器com.baomidou.mybatisplus.core.MybatisMapperAnnotationBuilder#parse(){ // ... // 注入 CURD 动态 SQL , 放在在最后, because 可能会有人会用注解重写sql if (GlobalConfigUtils.isSupperMapperChildren(configuration, type)) { GlobalConfigU...原创 2021-02-03 16:38:02 · 341 阅读 · 1 评论 -
mybatis-generator1.3.6 - 插件埋点
// org.mybatis.generator.api.MyBatisGenerator.generate(....)public void generate(ProgressCallback callback, Set<String> contextIds, Set<String> fullyQualifiedTableNames, boolean writeFiles) throws SQLException, IOException, Interru...原创 2021-02-02 11:12:03 · 181 阅读 · 0 评论 -
mybatis3.4.1源代码 - XPathParser
package cn.java.demo.ibatis.internal;import lombok.extern.slf4j.Slf4j;import org.apache.ibatis.builder.xml.XMLMapperEntityResolver;import org.apache.ibatis.io.Resources;import org.apache.ibatis.parsing.XNode;import org.apache.ibatis.parsing.XPath...原创 2021-01-28 16:49:40 · 115 阅读 · 0 评论 -
mybatis3.4.1源代码 - 加载配置、创建session、查询、参数映射、结果映射、关闭session
// 0、获取文件输入流InputStream inputStream = Resources.getResourceAsStream("foo-config.xml");// org.apache.ibatis.scripting.defaults.RawLanguageDriver/* 1、解析 xml 文件,设置配置到 Configuration 对象 解析mapper 1、解析《xml类型》的mapper 2、解析《注解类型》的mapper ...原创 2020-08-19 17:02:35 · 243 阅读 · 0 评论