zl程序教程

138 MyBatis

  • Mybatis/Mybatis-plus执行动态sql片段工具类

    Mybatis/Mybatis-plus执行动态sql片段工具类

    在开发中可能会遇到需要执行动态sql的场景,比如前端传输sql片段或参数,后端拼接sql语句来执行 参考文章:https://www.codeleading.com/article/90405694877/先看效果前端传入sql语句和参数,支持全局变量、mybatis的xml语法# sql select rtc.*, cu.user_name

    日期 2023-06-12 10:48:40     
  • 假如你是面试官,你怎么问Mybatis的原理

    假如你是面试官,你怎么问Mybatis的原理

    面试赛季,咱们一线的程序员估计都在网上刷题,各种类型的面试题是铺天盖地的飞过来。但是我们究竟从中能够获取到哪些真正属于自己的技能点呢,下面我将从“面试官的视角”带着大家去分析面试官的思维,那么咱们就从Mybatis的原理开始试水吧。假如你是面试官,你该怎么问Mybatis我们换位思考,如果你是面试官,你该怎么去问“与Mybatis相关的问题”。我们可以做一个测试,就是自己合上电脑,你能想起那些与M

    日期 2023-06-12 10:48:40     
  • MyBatis快速入门

    MyBatis快速入门

    1、什么是框架?它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。 使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高开发效率。复制2、三层架构表现层: 是用于展示数据的 业务层: 是处理业务需求 持久层: 是和数据库交互的复制3、持久层技术解决方案JDBC技术: Connection Prepared

    日期 2023-06-12 10:48:40     
  • mybatis的逆向工程怎么实现_mybatisinsert

    mybatis的逆向工程怎么实现_mybatisinsert

    大家好,又见面了,我是你们的朋友全栈君。 1.什么是逆向工程mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…)企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。 注意:只能对单表进行操作2.逆向工程的作用myBatis逆向工程可以方便的从数据库中将表自动映射到JAVA POJO类,并

    日期 2023-06-12 10:48:40     
  • p6spy oracle,MyBatis集成P6Spy显示实际的SQL(代码教程)「建议收藏」

    p6spy oracle,MyBatis集成P6Spy显示实际的SQL(代码教程)「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。 在应用程序开发过程中,为了方便调试,通常都需要知道在DAO层,程序执行的SQL是什么,而P6spy这个组件正是提供了该功能。接下来将详细介绍P6Spy的详细使用。一 系统集成P6spy1 添加依赖3.6.01.1.6p6spyp6spy${p6spy.version}com.alibabadruid${druid.version}2 实现自定义的SQL输出

    日期 2023-06-12 10:48:40     
  • mybatis清空一级缓存_jvm缓存

    mybatis清空一级缓存_jvm缓存

    大家好,又见面了,我是你们的朋友全栈君。 一、前情提要 长久以来,对springboot项目中缓存的使用都会有一些争论,一部分人认为缓存就应该具有延时性,即给他设置了10分钟的缓存,就应该10分钟后清理。还有一部分人认为缓存应该具有及时性(或弱及时性),即我设置了缓存后,一旦数据发生变化,缓存需要重新刷新。 对于第一种观点,事实上现有的缓存结构就已经满足了,无需我们进行特殊操作,这里我们不做

    日期 2023-06-12 10:48:40     
  • MyBatis 源码学习笔记(二)- MyBatis 进阶(Part A)

    MyBatis 源码学习笔记(二)- MyBatis 进阶(Part A)

    一、创建 mybatis-intermediate 工程将MyBatis 源码学习笔记(一)- MyBatis概述中创建的mybatis-quick-start工程拷贝并重命名为mybatis-intermediate。二、MyBatis Configuration 配置文件mybatis-config.xml是MyBatis的核心,它将影响MyBatis的行为。MyBatis configura

    日期 2023-06-12 10:48:40     
  • Data Access 之 MyBatis(二) - Configuration XML

    Data Access 之 MyBatis(二) - Configuration XML

    一、MyBatis Configuration XMLMyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 configuration(配置)标签下主要有如下配置,配置的顺序要严格遵循列出的顺序properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins

    日期 2023-06-12 10:48:40     
  • Data Access 之 MyBatis(三) - SQL Mapping XML(Part A)

    Data Access 之 MyBatis(三) - SQL Mapping XML(Part A)

    一、SQL Mapping XMLMyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成本,让开发者能更专注于 SQL 代码。mapper标签中的namespace属性即命名空间是指该映射文件所实现的Dao层的接口

    日期 2023-06-12 10:48:40     
  • Data Access 之 MyBatis Plus(二)-  Wrapper 条件构造器

    Data Access 之 MyBatis Plus(二)- Wrapper 条件构造器

    一、Wrapper 介绍MyBatis Plus 通过 Wrapper 来构造查询条件,实现条件读操作或者条件写操作。 Wrapper的抽象子类AbstractWrapper中定义了各种条件参数 拼接SQL语句使用的是数据库字段,而不是Java实体类的属性AbstractWrapper中所有查询条件的含义可以查看官方文档中的 条件构造器二、条件查询前期准备修改insert方法,往t_tesla表中

    日期 2023-06-12 10:48:40     
  • Data Access 之 MyBatis Plus(三)- MPG代码生成器(Part A)

    Data Access 之 MyBatis Plus(三)- MPG代码生成器(Part A)

    一、MyBatis Plus 与 MyBatis 的代码生成器比较MPG中提供了大量的自定义设置,生成的代码完全可以满足各类型的需求表名及字段命名的策略选择在MPG中,数据库表名和字段名可以选择驼峰命名也可以选择下滑线命名,MyBatis Plus中dbColumnUnderline配置是默认开启的。MPG建议采用驼峰命名,这样字段就不用做映射直接和实体类及实体类属性对应,可以避免产生映射性能损耗

    日期 2023-06-12 10:48:40     
  • Data Access 之 MyBatis Plus(六)- ActiveRecord

    Data Access 之 MyBatis Plus(六)- ActiveRecord

    一、ActiveRecordActiveRecord 是 ORM 的一种实现方式,在 Ruby 和 PHP 中使用较多,ActiveRecord 的特点是模型类的一个实例化对象对应数据库表中的一行记录。MyBatis Plus 框架中也实现了 ActiveRecord。使用 IDEA 创建一个新的 Maven 项目 mybatis-plus-ar,相关依赖可以参考前面工程中的依赖。新建 entit

    日期 2023-06-12 10:48:40     
  • mybatis拦截器

    mybatis拦截器

    今天学了点Mybatis拦截器,参考了Mybatis-Plus部分代码首先是使用@Intercepts注解,它的源码注释告诉我们可以这样使用:mybatis-plus中使用的就是这种方式,参考:这里可以传入@Signature,指定它的type为:Executor,执行器,我们可以看到它包含了如下方法,说明它是一个比较全能的范围,可以做很多事情参数如处理、返回处理、重写sql等我们依葫芦画瓢写两个

    日期 2023-06-12 10:48:40     
  • bean-searcher整合mybatis-plus逻辑删除

    bean-searcher整合mybatis-plus逻辑删除

    需要用到参数过滤器:https://bs.zhxu.cn/guide/latest/advance.html#参数过滤器@Bean public ParamFilter logicDeleteFilter() { return new ParamFilter() { @Override public <T> Map<String, Obje

    日期 2023-06-12 10:48:40     
  • Mybatis分页查询limit

    Mybatis分页查询limit

    大家好,又见面了,我是你们的朋友全栈君。 首先,写一下分页查询的原理:sql语句:#语法 SELECT * FROM table LIMIT stratIndex,pageSize SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15 #为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1: SELECT * FROM table

    日期 2023-06-12 10:48:40     
  • MyBatisPlus–逻辑删除「建议收藏」

    MyBatisPlus–逻辑删除「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。 逻辑删除开发系统时,有时候在实现功能时,删除操作需要实现逻辑删除,所谓欧吉删除就是将数据标记为删除,而并非真正的物理删除(非DELETE操作),查询时需要携带状态条件,确保被标记的数据不被查询,这样做的目的就是避免数据被真正的删除。配置application.properties# 删除状态值为1 mybatis-plus.global-config.

    日期 2023-06-12 10:48:40     
  • mybatisPlus填坑之逻辑删除

    mybatisPlus填坑之逻辑删除

    大家好,又见面了,我是你们的朋友全栈君。网上大部分的关于mybatisPlus的逻辑删除的配置介绍都是有问题的,原因可能是官网已经做了更新!!!错误如图:正确的配置是:SpringBoot 配置方式: application.yml 加入配置(如果你的默认值和mp默认的一样,该配置可无): yml文件(区别是多了一个路径db-config,同学们细看了) mybatis-plus: gl

    日期 2023-06-12 10:48:40     
  • MyBatis配置中的#{}和${}有什么区别?

    MyBatis配置中的#{}和${}有什么区别?

    前几天,一位应届生去面试,被问到一个MyBatis中比较基础的问题,说MyBatis中的#号和$符号有什么区别?今天,我给大家来详细介绍一下。1、两者区别Mybatis提供到的#号和$号,都是实现动态SQL的一种方式,通过这两种方式把参数传递到XML之后,在执行操作之前,Mybatis会对这两种占位符进行动态解析。下面我给家详细介绍一下#号和$号的区别,首先,来看#号,等同于JDBC里面的?号(占

    日期 2023-06-12 10:48:40     
  • 从零开始实现一个MyBatis加解密插件

    从零开始实现一个MyBatis加解密插件

    作者:vivo 互联网服务器团队- Li Gang本篇文章介绍使用MyBatis插件来实现数据库字段加解密的过程。一、需求背景公司出于安全合规的考虑,需要对明文存储在数据库中的部分字段进行加密,防止未经授权的访问以及个人信息泄漏。由于项目已停止迭代,改造的成本太大,因此我们选用了MyBatis插件来实现数据库加解密,保证往数据库写入数据时能对指定字段加密,读取数据时能对指定字段解密。二、思路解析

    日期 2023-06-12 10:48:40     
  • Spring 全家桶之 Spring Boot 2.6.4(四)-  Data Access(Part D MyBatis Plus)

    Spring 全家桶之 Spring Boot 2.6.4(四)- Data Access(Part D MyBatis Plus)

    一、Spring Boot 集成 MyBatis PlusMyBatis Plus是一个MyBatis的增强框架,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis Plus提供了通用的Mapper和Service,可以在不编写任何SQL语句的情况下,快速实现对单表的CRUD、批量操作、逻辑删除以及分页等操作。使用idea创建spring-boot-mybatisp

    日期 2023-06-12 10:48:40     
  • MyBatis缓存机制详解

    MyBatis缓存机制详解

    大家好,又见面了,我是你们的朋友全栈君。 MyBatis缓存机制详解1. MyBatis缓存1.1 MyBatis缓存概述1.2 MyBatis一二级缓存区别2. MyBatis一级缓存2.1 MyBatis一级缓存概述2.2 MyBatis一级缓存配置2.3 MyBatis一级缓存原理分析2.4 MyBatis一级缓存总结3. MyBatis二级缓存3.1 MyBatis二级缓存概述3.2

    日期 2023-06-12 10:48:40     
  • Mybatis实现*mapper.xml热部署-分子级更新

    Mybatis实现*mapper.xml热部署-分子级更新

    大家好,又见面了,我是你们的朋友全栈君。需求:项目在开发阶段或是修复bug阶段,会有修改mybatis的mapper.xml的时候,修改一般情况都要重启才能生失效,如果是分布式项目重启有时会耗时很久,都是无尽的等待。如果频繁修改,那么时间都浪费到等待重启的过程。目标:实现mybatis的mapper.xml文件修改后热部署,而且只热更新修改了的xml,可以提高重新解析过程的效率。要求:尽量满足开闭

    日期 2023-06-12 10:48:40     
  • MyBatis-Plus3.4.3最新版快速实现分页的方法

    MyBatis-Plus3.4.3最新版快速实现分页的方法

    相信有很多同行有时候都会碰到mybatis-plus更新了,但是在官网上却找不到mybatis-plus更新后的配置文件示例吧,我最近就是遇到了这个问题,想了很久最后找出了这个方法可行,然后就特意分享个大家,图个方便!好,话不多说,进入正题!Mybatis分页配置在pom文件中配置MyBatis-Plus坐标 <dependencies> <dependency>

    日期 2023-06-12 10:48:40     
  • 分布式事务TCC方案Hmily——springcloud + feign + mybatis

    分布式事务TCC方案Hmily——springcloud + feign + mybatis

    大家好,又见面了,我是你们的朋友全栈君。TCC理论:分布式事务基础理论——TCCHmily介绍:分布式事务TCC方案——Hmily金融级柔性分布式事务解决方案介绍本文demo代码:GitHub依赖 <dependency> <groupId>org.dromara</groupId> <arti

    日期 2023-06-12 10:48:40     
  • long转string mybatis_Long转String总结

    long转string mybatis_Long转String总结

    大家好,又见面了,我是你们的朋友全栈君。平时很少会使用到,今天用到了,做一个小总结。1.程序package com.jun.webpro.common.units;/*** 列举了两种比较常见的Long转String的方法* 通过测试,发现如果传入null,则第一种方式报错;第二种方式打印出null字符串*/public class LongToStringUtils { /*** 使用Long

    日期 2023-06-12 10:48:40     
  • MyBatis配置与使用-初入篇

    MyBatis配置与使用-初入篇

    依赖引入 <dependency>    <groupId>org.mybatis</groupId>    <artifactId>mybatis</artifactId>    <version>3.5.10</version>  </dependency>复制首先引入MyBatis依赖。注:MyB

    日期 2023-06-12 10:48:40     
  • Mybatis分页插件-PageHelper的使用

    Mybatis分页插件-PageHelper的使用

    大家好,又见面了,我是你们的朋友全栈君。 #Mybatis分页插件-PageHelper的使用怎样配置mybatis这里就不提了,我来说说我配置这个分页插件的过程吧。下载JAR包分页插件pagehelper.jar:https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/

    日期 2023-06-12 10:48:40     
  • MyBatis核心组件之SqlSessionFactory

    MyBatis核心组件之SqlSessionFactory

    大家好,又见面了,我是你们的朋友全栈君。 MyBatis的核心组件MyBatis的核心组件分为4个部分:SqlSessionFactoryBuilder(构造器):它会根据配置或者代码来生成SqlSessionFactory,采用的是分布构建的Builder模式。SqlSessionFactory(工厂接口):依靠它来生成SqlSession,使用的是工厂模式。SqlSession(会话):一

    日期 2023-06-12 10:48:40     
  • Spring Boot 集成MyBatis[通俗易懂]

    Spring Boot 集成MyBatis[通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君。 Spring Boot 集成MyBatis在集成MyBatis前,我们先配置一个druid数据源。Spring Boot 系列 Spring Boot 入门 Spring Boot 属性配置和使用 Spring Boot 集成MyBatis Spring Boot 静态资源处理 Spring Boot – 配置排序依赖技巧 Spri

    日期 2023-06-12 10:48:40     
  • SqlSessionTemplate详解——Mybatis+Spring Boot整合

    SqlSessionTemplate详解——Mybatis+Spring Boot整合

    大家好,又见面了,我是你们的朋友全栈君。 SqlSessionTemplate简介通俗地讲,SqlSessionTemplate是Mybatis—Spring的核心,是用来代替默认Mybatis实现的DefaultSqlSessionFactory,也可以说是DefaultSqlSessionFactory的优化版,主要负责管理Mybatis的SqlSession,调用Mybatis的sql方

    日期 2023-06-12 10:48:40     
  • Spring集成MyBatis

    Spring集成MyBatis

    大家好,又见面了,我是你们的朋友全栈君。 回忆MyBatis 定义表user 定义pojo实体类User 在dao层定义UserMapper接口 接口对应的Mapper映射文件 在 Dao 接口的包中创建 MyBatis 的映射文件 UserMapper,命名与接口名相同,本例为UserMapper.xml。mapper 中的 namespace 取值也为 Dao 接口的全限定性名。定义 My

    日期 2023-06-12 10:48:40