MyBatis
文章平均质量分 88
mybatis系列
white camel
星光不问赶路人, 时光不负有心人
展开
-
MyBatis拓展知识 :批量执行SQL语句、自定义TypeHandler来处理枚举类型
一、批量执行SQL语句 (BatchExecutor)之前学习使用mybatis的foreach标签来, 批量查询sql, 这样的操作实际对MySQL数据库存在瓶颈问题,且效率很低非批量的方式: 发一条sql, 预编译一次, 设置参数; 效率低发送SQL10000次, 预编译10000次, 设置参数1000次, 数据库执行10000次批量的方式: 将sql语句先预编译好, 给该sql设置参数即可只发送SQL一次, 预编译一次, 设置参数1000次, 数据库执行一次二、自定义Typ原创 2021-04-22 18:34:04 · 1354 阅读 · 0 评论 -
MyBatis插件开发 : 插件原理、插件开发流程
增强代码MyBatis在四大对象的创建过程中,都会有插件进行介入。插件可以利用动态代理机制一层层的包装目标对象,而实现在目标对象执行目标方法之前进行拦截的效果。MyBatis 允许在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)ParameterHa...原创 2021-04-22 16:53:32 · 1402 阅读 · 0 评论 -
MyBatis运行原理(三) : 多参数封装Map的流程、查询实现原理 (源码分析)
二、获取SqlSession的流程1、进入到openSession()方法, 因为sqlSessionFactory在运行时的对象为DefaultSqlSessionFactory, 所以通过动态绑定机制调用的openSession为DefaultSqlSessionFactory的 @Override public SqlSession openSession(boolean autoCommit) { // configuration.getDefaultExecutorType()原创 2021-04-22 11:47:15 · 1121 阅读 · 1 评论 -
MyBatis运行原理(二) : 获取SqlSession的流程、getMapper获取接口代理对象流程 (源码分析)
二、获取SqlSession的流程1、进入到openSession()方法, 因为sqlSessionFactory在运行时的对象为DefaultSqlSessionFactory, 所以通过动态绑定机制调用的openSession为DefaultSqlSessionFactory的 @Override public SqlSession openSession(boolean autoCommit) { // configuration.getDefaultExecutorType()原创 2021-04-22 11:44:56 · 1318 阅读 · 1 评论 -
MyBatis运行原理(一) : 核心组件、SqlSessionFactory的构建过程(源码分析)
MyBatis多个参数封装Map的过程1、首先在该处打上断点因为mapper是代理对象, 进入代理类MapperProxy中的invoke方法 @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { try { // 判断是否是Object中的方法, method对象就是上面的getUser方法 if (Object.class.eq原创 2021-04-22 11:40:54 · 700 阅读 · 0 评论 -
Mybatis里面的StatementType的解释说明
原文链接: Mybatis里面的StatementType的解释说明正文 在mapper文件中可以使用statementType标记使用什么的对象操作SQL语句。 statementType:标记操作SQL的对象 要实现动态传入表名、列名,需要做如下修改 ,添加属性statementType=”STATEMENT” ,同时sql里的属有变量取值都改成${xxxx},而不是#{xxx}转载 2020-11-09 10:41:35 · 713 阅读 · 0 评论 -
MyBatis——MyBatis Generator插件使用(配置详解)
目录MyBatis GeneratortargetRuntime=“MyBatis3Simple” 生成文件targetRuntime=“MyBatis3” 生成文件Mybatis GeneratorMybatis Generator简称 MBG,是一个专门为 MyBatis和 ibatis框架使用者提供的代码生成器。也可以快速的根据数据表生成对应的pojo类、Mapper接口、M...原创 2020-03-09 17:54:12 · 22124 阅读 · 1 评论 -
MyBatis——缓存机制、EhCache第三方缓存
参考:MyBatis的一、二级缓存使用EhCache第三方缓存原创 2020-03-07 21:29:24 · 1562 阅读 · 2 评论 -
MyBatis——对象关系映射、延迟加载、关联对象的配置选择
目录类图关系概述1、泛化关系2、实现关系3、依赖关系4、关联关系4.1、一对一的关系4.2、单向一对多关系4.3、单向多对一关系4.4、双向一对多、多对一关系4.5、单向多对多关系5、聚合关系6、组合关系多对一(关系在多的一方)案例: 多个员工对象属于同一个部门对象1、保存员工部门信息2、根据id来查询员工信息3、查询所有用户表设计CRE...原创 2020-03-07 08:13:59 · 2677 阅读 · 0 评论 -
MyBatis——动态SQL、if、where、set、foreach、sql片段
目录原创 2020-03-05 19:36:35 · 3753 阅读 · 0 评论 -
MyBaits——MyBatis的CRUD操作、别名配置、属性配置、查询结果映射、Mapper组件、参数处理、注解开发
一、MyBatis拓展1、别名配置处理Mapper.xml中的查询操作 <select id="getUserList" resultType="com.sunny.domain.User"> SELECT * FROM user; </select> <!-- #{id} 相当于在测试方法中selectOne传递过来...原创 2020-03-03 08:41:41 · 6368 阅读 · 1 评论 -
MyBatis——ORM思想、MyBatis概述、MyBaits核心组件、日志框架、OGNL
目录NOSQL概述NOSQL和关系型数据库比较 NOSQL的优缺点非关系型数据库的优势关系型数据库的优势主流的NOSQL产品Redis概述Redis的五种数据类型字符串类型String哈希类型hash有序可重复列表类型list无序不可重复列表类型set有序结合类型sortsetRedis的通用命令1. 走进MyBatis1.1框架什么是框架,框架...原创 2020-02-27 10:03:03 · 9777 阅读 · 8 评论