![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis
奔跑者runner
you want something,just go get it
展开
-
Mybatis四大对象之StatementHandler
https://www.jianshu.com/p/19686af69b0dMybatis四大对象之StatementHandler概述 在上篇文章中,我们学习了Executor执行器相关的操作,而接下来,我们接着来看Executor的下一步进行操作的对象:StatementHandler。StatementHandler负责处理Mybatis与JDBC之间Statement的交互,而J...转载 2019-11-12 23:26:07 · 905 阅读 · 0 评论 -
mybatis四大对象之Executor
mybatis中sqlsession下的四大对象是指:executor, statementHandler,parameterHandler,resultHandler对象。这篇文章主要介绍了Mybatis中SqlSession下的四大对象之执行器(executor),需要的朋友可以参考下首先我先解释一下标题 四大对象是指:executor, statementHandler,parameter...原创 2019-11-12 23:11:00 · 545 阅读 · 0 评论 -
mybatis执行流程源码分析总结
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-11-12 22:38:14 · 165 阅读 · 0 评论 -
Mybatis运行流程源码分析
Mybatis运行流程图解1.首先进入动态代理类的invoke方法/** * * @param proxy * @param method 执行方法(接口中的方法) * @param args 执行sql传入的参数 * @return * @throws Throwable */ @Override public Object invoke(...原创 2019-11-09 18:04:16 · 113 阅读 · 0 评论 -
Mybatis getMapper源码分析
getMapper()时序图1.调用getMapper方法 DeptMapper mapper = sqlSession.getMapper(DeptMapper.class);2.进入方法内部@Override public <T> T getMapper(Class<T> type) { //最后会去调用MapperRegistry.getMap...原创 2019-11-09 15:54:14 · 530 阅读 · 0 评论 -
Mybatis OpenSession源码分析
openSession执行时序图上一节提到SqlSessionFactoryBuilder的build()方法返回的是DefaultSqlSessionFactory这个SqlSessionFactory的实现类,那么openSession也是DefaultSqlSessionFactory这个类里面的方法/** * 默认的SqlSessionFactory * */public ...原创 2019-11-09 15:29:10 · 570 阅读 · 0 评论 -
Mybatis加载配置文件源码分析
SqlSessionFactoryBuilder创建SqlSessionFactory String resource="mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); return new SqlSessionFactoryBuilde...原创 2019-11-09 13:23:16 · 218 阅读 · 0 评论 -
idea-mybatis-generator逆向工程生成代码及简单使用
MyBatis官方提供了逆向工程 mybatis-generator,可以针对数据库表自动生成MyBatis执行所需要的代码(如Mapper.java、Mapper.xml、POJO)。mybatis-generator 有三种用法:命令行、eclipse插件、maven插件。而maven插件的方式比较通用,本文也将概述maven插件的使用方式pom.xml文件添加插件<build>...原创 2019-11-07 19:57:59 · 725 阅读 · 0 评论 -
MyBatis一级缓存和二级缓存
MyBatis缓存机制/** * mybatis提供了两种缓存 * 一级缓存:(本地缓存): sqlSession级别缓存,一级缓存是一直开启的,无法关闭 * 与数据库同一次会话(同一个session)期间查询到的数据会放在本地缓存中 * 以后如果需要获取相同的数据,直接从缓存中拿,没必要再取数据库查询 * * ...原创 2019-11-03 22:12:14 · 115 阅读 · 0 评论 -
MyBatis动态SQL
MyBatis动态SQLmapper接口方法:/** * mybatis动态SQL */public interface EmployeeMapperDynamicSQL { List<Employee> getEmpByConditionIf(Employee e); List<Employee> getEmpByConditionChoose...原创 2019-11-02 21:41:21 · 140 阅读 · 0 评论 -
MyBatis collection定义关联的集合类型的属性封装规则
实体类对象@Datapublic class Employee { private Integer id; private String lastName; private Integer gender; private String email; private Department department;}@Datapublic c...原创 2019-11-02 15:55:35 · 970 阅读 · 0 评论 -
MyBatis association分步查询
Employee类public class Employee { private Integer id; private String lastName; private String email; private String gender; private Department dept; // 省略setter、getter、toS...原创 2019-11-01 00:00:39 · 174 阅读 · 0 评论 -
MyBatis SQL映射结果集封装
1.返回一个对象#public interface EmployeeMapper { public Employee getEmpByMap(Map<String, Object> map);}对应的EmployeeMapper.xml语句 <!-- public Employee getEmpByMap(Map<String, Object> ma...原创 2019-10-31 23:53:42 · 781 阅读 · 1 评论 -
mybatis参数处理
1>单个参数: mybatis不会做任何处理,参数名可以随意写#{参数名}:取出参数值2>多个参数: mybatis会做特殊处理,多个参数会封装为一个map.key的形式为param1,param2,…value为参数值#{}就是从map中获取指定key的值sql映射xml文件中可以通过#{param1},#{param2}…获取3>命名参数:明确指定封装参数时ma...原创 2019-10-30 20:17:12 · 208 阅读 · 0 评论 -
Mybatis工作原理
原创 Mybatis工作原理 ...转载 2019-10-29 23:44:49 · 138 阅读 · 0 评论 -
MyBatis运行原理与解析
文章目录一、项目结构二、mybatis内部运行原理解析MyBatis的运行主要有两大部分:一是读取配置文件到Configuratio...转载 2019-10-29 23:42:09 · 127 阅读 · 0 评论