草庐IT

Java Mybatis 笔记

MyBatis1、简介1.1什么是MybatisMyBatis是一款优秀的持久层框架;它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和JavaPOJO(PlainOldJavaObjects,普通老式Java对象)为数据库中的记录。1.2持久化数据持久化持久化就是将程序的数据在持久状态和瞬时状态转化的过程内存:断电即失数据库(Jdbc),io文件持久化。为什么要持久化?有一些对象,不能让他丢掉内存太贵1.3持久层Dao层、Service层、Controller

一篇文章带你掌握MyBatis简化框架——MyBatisPlus

一篇文章带你掌握MyBatis简化框架——MyBatisPlus我们在前面的文章中已经学习了目前开发所需的主流框架类似于我们所学习的SpringBoot框架用于简化Spring开发,我们的国人大大也开发了一款MyBatisPlus框架用来简化MyBatis开发下面让我们来逐步掌握MyBatisPlus的内容吧~MyBatisPlus简介首先我们来简单介绍一下MyBatisPlus:MyBatisPlus(MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发,提高效率MyBatisPlus开发具有三种开发方式:基于MyBatis使用MyBatisPlus基于Spring使用MyBa

一篇文章带你掌握MyBatis简化框架——MyBatisPlus

一篇文章带你掌握MyBatis简化框架——MyBatisPlus我们在前面的文章中已经学习了目前开发所需的主流框架类似于我们所学习的SpringBoot框架用于简化Spring开发,我们的国人大大也开发了一款MyBatisPlus框架用来简化MyBatis开发下面让我们来逐步掌握MyBatisPlus的内容吧~MyBatisPlus简介首先我们来简单介绍一下MyBatisPlus:MyBatisPlus(MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发,提高效率MyBatisPlus开发具有三种开发方式:基于MyBatis使用MyBatisPlus基于Spring使用MyBa

源码学习之MyBatis的底层查询原理

导读本文通过MyBatis一个低版本的bug(3.4.5之前的版本)入手,分析MyBatis的一次完整的查询流程,从配置文件的解析到一个查询的完整执行过程详细解读MyBatis的一次查询流程,通过本文可以详细了解MyBatis的一次查询过程。在平时的代码编写中,发现了MyBatis一个低版本的bug(3.4.5之前的版本),由于现在很多工程中的版本都是低于3.4.5的,因此在这里用一个简单的例子复现问题,并且从源码角度分析MyBatis一次查询的流程,让大家了解MyBatis的查询原理。1问题现象1.1场景问题复现如下图所示,在示例Mapper中,下面提供了一个方法queryStudents,

源码学习之MyBatis的底层查询原理

导读本文通过MyBatis一个低版本的bug(3.4.5之前的版本)入手,分析MyBatis的一次完整的查询流程,从配置文件的解析到一个查询的完整执行过程详细解读MyBatis的一次查询流程,通过本文可以详细了解MyBatis的一次查询过程。在平时的代码编写中,发现了MyBatis一个低版本的bug(3.4.5之前的版本),由于现在很多工程中的版本都是低于3.4.5的,因此在这里用一个简单的例子复现问题,并且从源码角度分析MyBatis一次查询的流程,让大家了解MyBatis的查询原理。1问题现象1.1场景问题复现如下图所示,在示例Mapper中,下面提供了一个方法queryStudents,

详解 MyBatis 类型处理器,让你的代码更优雅!

来源:https://www.cnblogs.com/zwwhnly/p/11238131.html本篇主要讲解在MyBatis中如何使用类型处理器。1.明确需求在设计之初,sys_role表的enabled字段有2个可选值,其中0代表禁用,1代表启用,而且实体类中我们使用的是Interger类型:/***有效标志*/privateIntegerenabled;publicIntegergetEnabled(){returnenabled;}publicvoidsetEnabled(Integerenabled){this.enabled=enabled;}如果要新增或者更新角色信息,我们肯定

详解 MyBatis 类型处理器,让你的代码更优雅!

来源:https://www.cnblogs.com/zwwhnly/p/11238131.html本篇主要讲解在MyBatis中如何使用类型处理器。1.明确需求在设计之初,sys_role表的enabled字段有2个可选值,其中0代表禁用,1代表启用,而且实体类中我们使用的是Interger类型:/***有效标志*/privateIntegerenabled;publicIntegergetEnabled(){returnenabled;}publicvoidsetEnabled(Integerenabled){this.enabled=enabled;}如果要新增或者更新角色信息,我们肯定

mybatis缓存详解--mybatis单独使用

本文以mybatis-3.5.11版本为基础,对mybatis缓存进行较详细的解析。注意,本文说明的情况,适用于mybatis单独使用的情况,即,不与spring或其他容器框架结合使用的情况。缓存概念说明mybatis官方文档中,没有对缓存的明确定义,但引用到了两个缓存概念:在官方文档中翻找一遍,只有两个概念:本地缓存,二级缓存。并没有一级缓存的概念。本文沿用官方文档说明,使用本地缓存与二级缓存的概念。本地缓存mybatis中有SqlSession接口,所有数据库操作,均由该接口完成。使用mybatis时,也需要通过该接口进行数据库操作。本地缓存,由BaseExecutor的localCach

mybatis缓存详解--mybatis单独使用

本文以mybatis-3.5.11版本为基础,对mybatis缓存进行较详细的解析。注意,本文说明的情况,适用于mybatis单独使用的情况,即,不与spring或其他容器框架结合使用的情况。缓存概念说明mybatis官方文档中,没有对缓存的明确定义,但引用到了两个缓存概念:在官方文档中翻找一遍,只有两个概念:本地缓存,二级缓存。并没有一级缓存的概念。本文沿用官方文档说明,使用本地缓存与二级缓存的概念。本地缓存mybatis中有SqlSession接口,所有数据库操作,均由该接口完成。使用mybatis时,也需要通过该接口进行数据库操作。本地缓存,由BaseExecutor的localCach

一文掌握MyBatis的动态SQL使用与原理

摘要:使用动态SQL并非一件易事,但借助可用于任何SQL映射语句中的强大的动态SQL语言,MyBatis显著地提升了这一特性的易用性。本文分享自华为云社区《MyBatis详解-动态SQL使用与原理》,作者:龙哥手记。动态SQL是MyBatis的强大特性之一。如果你使用过JDBC或其它类似的框架,你应该能理解根据不同条件拼接SQL语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态SQL,可以彻底摆脱这种痛苦。使用动态SQL并非一件易事,但借助可用于任何SQL映射语句中的强大的动态SQL语言,MyBatis显著地提升了这一特性的易用性。如果你之前用过