zl程序教程

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     
  • 还不会用乐观锁吗?Spring Cloud Alibaba组合Mybatis-Plus真香

    还不会用乐观锁吗?Spring Cloud Alibaba组合Mybatis-Plus真香

    当我们想要在业务中引入“乐观锁”时,应该要思考清楚它的概念,为了更加形象的理解“乐观锁”,我们可以先看一下认识下悲观锁。什么是悲观锁顾名思义,悲观锁是基于一种悲观的态度来防止一切数据冲突,它是以一种预防的姿态,并在修改数据之前把数据锁住,然后再对数据进行读写。在它释放锁之前任何线程都不能对其数据进行操作,直到持有锁的线程释放锁之后,其它线程才能通过竞争去获取到悲观锁,自动对数据进行加锁,然后才可以

    日期 2023-06-12 10:48:40     
  • MyBatis CRUD详解

    MyBatis CRUD详解

    MyBatis增删改查配置和使用0.表结构,目录结构1.配置pom.xml<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww

    日期 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     
  • MyBatis-Generator例子简介

    MyBatis-Generator例子简介

    MyBatis-Generator例子简介mybatis-generator官方文档: http://mybatis.org/generator/index.html例子代码参考: mall1. 运行MyBatis Generator(MBG)这部分文档已经说的很清楚了,这里列举java运行代码1.1. 基于XML配置文件运行List<String> warnings = new Ar

    日期 2023-06-12 10:48:40     
  • mybatis逆向工程配置文件_mybatis逆向工程多表查询

    mybatis逆向工程配置文件_mybatis逆向工程多表查询

    大家好,又见面了,我是你们的朋友全栈君。mybatis逆向工程很早之前有用过,但是一直没有整理使用步骤,今天来回顾下在idea下springboot中整合mybatis逆向工程的实现步骤什么是逆向工程?所谓mybatis逆向工程,就是mybatis会根据我们设计好的数据表,自动生成pojo、mapper以及mapper.xml。本文将介绍两种方式实现mybatis的逆向工程。generatorCo

    日期 2023-06-12 10:48:40     
  • Data Access 之 MyBatis(一)- MyBatis Hello World

    Data Access 之 MyBatis(一)- MyBatis Hello World

    一、什么是持久层框架什么是持久层持久是相对于瞬时来说的,持久层可以理解成数据保存在数据库或者硬盘一类可以长久存储的设备里面,不像放在内存中那样断电就消失了,也就是把数据存在持久化设备上。数据是非常重要的资产,远比应用程序本身更重要,所以需要把数据持久化。持久化可以通过很多方式,写文件和数据库都可以。现在企业一般都会选择把数据持久化到数据库中,因为还需要对存储的数据进行查询统计分析,数据库的数据最终

    日期 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 B)

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

    一、select查询语句是 MyBatis 中最常用的元素之一——仅把数据存到数据库中价值并不大,还要能重新取出来才有用,多数应用也都是查询比修改要频繁。 MyBatis 的基本原则之一是:在每个插入、更新或删除操作之间,通常会执行多个查询操作。因此,MyBatis 在查询和结果映射做了相当多的改进。一个简单查询的 select 元素是非常简单的。select 元素允许你配置很多属性来配置每条语句

    日期 2023-06-12 10:48:40     
  • Data Access 之 MyBatis(五)-  MyBatis Cache

    Data Access 之 MyBatis(五)- MyBatis Cache

    MyBatis缓存MyBatis包含一个非常强大的查询缓存特性,可以非常方便的配置和定义。缓存可以极大的提高查询效率MyBatis系统中默认定义了两个级别的缓存,一级缓存和二级缓存;默认情况下,只有一级缓存开启,二级缓存的开启需要手动配置一级缓存:线程级别的缓存,本地缓存、Sql Session级别的缓存二级缓存:全局范围的缓存,除过当前线程,sqlSession能用外其他也可以使用 MyBati

    日期 2023-06-12 10:48:40     
  • Data Access 之 MyBatis(六)-  Spring、Spring MVC、MyBatis整合

    Data Access 之 MyBatis(六)- Spring、Spring MVC、MyBatis整合

    整合Spring & Spring MVC & MyBatis1.建工程创建一个Maven工程ssm,分别在pom.xml文件中导入Spring、Spring MVC以及MyBatis的相关依赖<properties> <spring-version>5.3.13</spring-version> </properties>

    日期 2023-06-12 10:48:40     
  • Data Access 之 MyBatis Plus(一)-  BaseMapper CRUD(Part B)

    Data Access 之 MyBatis Plus(一)- BaseMapper CRUD(Part B)

    二、MyBatis Plus 的 CRUD2.5 MP 的 update 相关方法//根据 ID 修改 int updateById(@Param(Constants.ENTITY) T entity); //根据 whereEntity 条件,更新记录 int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER)

    日期 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(三)- MPG代码生成器(Part B)

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

    四、MPG 的 IService 接口MPG代码生成器生成的Service接口继承了MP的IService接口,该接口除了基本的增删改查外,还包含了一些批量操作方法,该接口中定义的方法除了default方法外都在ServiceImpl类中实现了public interface ITeslaService extends IService<Tesla> { }复制IService 接口

    日期 2023-06-12 10:48:40     
  • Data Access 之 MyBatis Plus(五)- 自定义 BaseMapper

    Data Access 之 MyBatis Plus(五)- 自定义 BaseMapper

    一、自定义通用方法TeslaDeleteAllMyBatis Plus支持自定义通用方法,自定义通用方法与MP自带的通用方法一样,都会在应用启动时将方法注入到全局中自定义通用方法的步骤:在XxxMapper中定义想要自定义的通用方法,XxxMapper要继承BaseMapper创建一个类继承AbstractMethod,重写injectMappedStatement()方法,该方法中输入写自定义通

    日期 2023-06-12 10:48:40     
  • mybatis流式查询

    mybatis流式查询

    分享一个mybatis流式查询用法很简单:package com.ruben; import com.ruben.mapper.UserMapper; import com.ruben.pojo.po.UserPO; import lombok.SneakyThrows; import org.apache.ibatis.cursor.Cursor; import org.apache.ibat

    日期 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+SpringBoot整合 注入SqlSessionTemplate

    MyBatis+SpringBoot整合 注入SqlSessionTemplate

    大家好,又见面了,我是你们的朋友全栈君。实际开发中我们操作数据库持久化,总是需要写重复的mapper,service,xml浪费了我们大量的时间,在这里推荐大家使用SqlSessionTemplate废话不多说直接上代码工具类接口层:package com.miaosuan.dao; import java.util.List; import com.miaosuan.dao.dbenums.

    日期 2023-06-12 10:48:40     
  • spring-mybatis整合-SqlSessionTemplate

    spring-mybatis整合-SqlSessionTemplate

    大家好,又见面了,我是你们的朋友全栈君。SqlSessionTemplate是MyBatis-Spring的核心。这个类负责管理MyBatis的SqlSession,调用MyBatis的SQL方法。SqlSessionTemplate是线程安全的,可以被多个DAO所共享使用。当调用SQL方法时,包含从映射器getMapper()方法返回的方法,SqlSessionTemplate将会保证使用的Sq

    日期 2023-06-12 10:48:40     
  • mybatis中LIKE模糊查询的几种写法以及注意点

    mybatis中LIKE模糊查询的几种写法以及注意点

    大家好,又见面了,我是你们的朋友全栈君。mybatis中对于使用like来进行模糊查询的几种方式:(1)使用${…}注意:由于$是参数直接注入的,导致这种写法,大括号里面不能注明jdbcType,不然会报错org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Refle

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

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

    一、Spring Boot 整合 MyBatisMyBatis的自动配置创建工程spring-boot-mybatis,创建项目时勾选MyBatis Framework会自动引入MyBatis的Starter 分析Mybatis的Staters启动器依赖MyBatis的自动配置类和配置项类都在autoconfigure包下MyBatis自动配置类依赖了SqlSessionFactory和SqlSe

    日期 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 一个简单配置搞定加密、解密,不能太方便了~!

    点击关注公众号,Java干货及时送达来源:juejin.cn/post/6963811586184052767 前言:介绍一个简单的MyBatis加解密方式,日常学习工作中提及这种方法的比较少,所以拿来说说,如果已经知道这种方法的忽略本文!一、背景在我们数据库中有些时候会保存一些用户的敏感信息,比如:手机号、银行卡等信息,如果这些信息以明文的方式保存,那么是不安全的。假如:黑客黑进了数据库,或者离

    日期 2023-06-12 10:48:40     
  • MyBatis的三种分页方式,你用过几种?

    MyBatis的三种分页方式,你用过几种?

    前言分页是我们在开发中绕不过去的一个坎!当你的数据量大了的时候,一次性将所有数据查出来不现实,所以我们一般都是分页查询的,减轻服务端的压力,提升了速度和效率!也减轻了前端渲染的压力!注意:由于 java 允许的最大整数为 2147483647,所以 limit 能使用的最大整数也是 2147483647,一次性取出大量数据可能引起内存溢出,所以在大数据查询场合慎重使用!一、Limit分页语法:li

    日期 2023-06-12 10:48:40     
  • 看了我的mybatis-plus用法,同事也开始悄悄模仿了

    看了我的mybatis-plus用法,同事也开始悄悄模仿了

    点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发...源码精品专栏原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析作业调度中

    日期 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缓存

    为何禁用MyBatis缓存

    大家好,又见面了,我是你们的朋友全栈君。private void putAncestor(CacheKey rowKey, Object resultObject, String resultMapId, String columnPrefix) { if (!ancestorColumnPrefix.containsKey(resultMapId)) { ancestorCo

    日期 2023-06-12 10:48:40     
  • 【Spring】总结Spring整合Mybatis的底层原理实现步骤[通俗易懂]

    【Spring】总结Spring整合Mybatis的底层原理实现步骤[通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君。 (鲁班学院公开课笔记)Dao:数据访问层,提供让Service层调用的接口,更大的时候,Dao层可以是一个项目。 sqlSession.getMapper();使用的是JDK的动态代理 使用时 自定注入的条件:要被Spring管理。被Spring管理的对象叫做Bean@Component注解:表示将生成一个Bean 对象和Bean的区别:

    日期 2023-06-12 10:48:40     
  • 《深入理解mybatis原理》 MyBatis的一级缓存实现详解 及使用注意事项

    《深入理解mybatis原理》 MyBatis的一级缓存实现详解 及使用注意事项

    大家好,又见面了,我是你们的朋友全栈君。0.写在前面 MyBatis是一个简单,小巧但功能非常强大的ORM开源框架,它的功能强大也体现在它的缓存机制上。MyBatis提供了一级缓存、二级缓存 这两个缓存机制,能够很好地处理和维护缓存,以提高系统的性能。本文的目的则是向读者详细介绍MyBatis的一级缓存,深入源码,解析MyBatis一级缓存的实现原理,并且针对一级缓存的特点提出了在实际使用

    日期 2023-06-12 10:48:40     
  • SpringBoot(二十二)整合Mybatis,使用SqlSessionTemplate实现增删改查[通俗易懂]

    SpringBoot(二十二)整合Mybatis,使用SqlSessionTemplate实现增删改查[通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君。在之前这篇基础上进行改造使用JdbcTemplate实现增删改查。SpringBoot版本:2.1.1目录结构如下:pom文件添加依赖,如下:<!-- 添加依赖以后Mybatis就自动配置好了,可以直接使用,具体自动配置代码到mybatis-spring-boot-autoconfigure包下查看 --> <!-- 上一篇博客里添加的sp

    日期 2023-06-12 10:48:40     
  • mybatis 分页查询避免两次查询同时返回总数和数据

    mybatis 分页查询避免两次查询同时返回总数和数据

    大家好,又见面了,我是你们的朋友全栈君。分页查询一般分成两次查询一次查总数一次查列表,下面这种写法可以一次返回sql <resultMap id="queryOrderListResultMap" type="要返回数据的类型"> </resultMap> <resultMap type="Long&q

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