草庐IT

mybatis-flex

全部标签

Spring Boot整合MyBatis Plus实现基本CRUD与高级功能

文章目录1.引言2.项目搭建与依赖配置2.1添加MyBatisPlus依赖2.2配置数据源与MyBatisPlus3.实现基本CRUD功能3.1创建实体类3.2创建Mapper接口3.3实现Service层3.4控制器实现4.高级功能实现4.1自动填充功能4.2乐观锁功能4.3逻辑删除功能5.拓展:MyBatisPlus的其他功能5.1条件构造器5.2分页查询5.3性能分析6.总结🎉欢迎来到SpringBoot框架学习专栏~☆*o(≧▽≦)o*☆嗨~我是IT·陈寒🍹✨博客主页:IT·陈寒的博客🎈该系列文章专栏:SpringBoot📜其他专栏:Java学习路线Java面试技巧Java实战项目AI

MyBatis:MyBatis架构原理

一、架构设计我们把Mybatis的功能架构分为三层:1、API接口层:提供给外部使用的接口API,开发⼈员通过这些本地API来操纵数据库。接口层⼀接收到调⽤请求就会调⽤数据处理层来完成具体的数据处理。MyBatis和数据库的交互有两种⽅式:a.使用传统的MyBatis提供的API;b.使⽤Mapper代理的⽅式2、数据处理层:负责具体的SQL查找、SQL解析、SQL执⾏和执⾏结果映射处理等。它主要的目的是根据调用的请求完成⼀次数据库操作。3、基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东⻄,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最

代码生成器(新):mybatis-plus-generator使用指南

代码生成器(新)官网后端代码:点击查看LearnElementUiAndSpringBoot提醒:LearnElementUiAndSpringBoot下载完后,在运行调试Main.java里的main方法之前,除了utils包和Main.java文件,其他包需要先删除,否则会看不出自动生成的代码快速入门一、pom.xml添加依赖!--velocity官网 https://velocity.apache.org/engine/devel/user-guide.html https://velocity.apache.org/download.cgi#engine-->dependenc

Mybatis 动态修改 SQL 的两种方式

在SpringAOP中,你可以使用切面(Aspect)来拦截MyBatis执行期间的方法调用,包括修改BoundSql对象中的SQL语句。以下是一个基本的示例:1、创建切面类创建一个切面类,使用@Aspect注解进行标记,并使用@Around注解来拦截目标方法的执行。@Aspect@ComponentpublicclassBoundSqlAspect{@Around("execution(*org.apache.ibatis.executor.BaseExecutor.query(..))&&args(ms,parameterObject,rowBounds,resultHandler)")p

MyBatis整合第三方缓存EHCache

EHCache缓存针对于MyBatis的二级缓存。MyBatis默认二级缓存是SqlSessionFactory级别的。添加依赖 org.mybatis.caches mybatis-ehcache 1.2.1 org.slf4j slf4j-api ch.qos.logback logback-classic 1.4.11 test创建EHCache的配置文件ehcache.xml配置文件名必须为ehcache.xmlEHCache配置文件的配置项说明创建logback日志文件使用SLF4J日志时,log4j日志文件会失效,需要配置SLF4J的具体实现logback来打

Spring-xml(+注解)方式整合第三方的框架-mybatis

1)不需要自定义命名空间:MyBatisSpring整合Mybatis的步骤如下://原始配置mysqlmysql-connector-java5.1.49org.mybatismybatis3.5.10//mybatis配置文件DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">default="development">//mapper配置文件DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper

Mybatis之resultMap详解

resultMap作用是处理数据表中字段与java实体类中属性的映射关系。准备工作①创建数据库&数据表CREATEDATABASE`dbtest1`;CREATETABLE`t_emp`(`emp_id`intNOTNULLAUTO_INCREMENT,`emp_name`varchar(20)DEFAULTNULL,`age`intDEFAULTNULL,`gender`char(1)DEFAULTNULL,`dept_id`intDEFAULTNULL,PRIMARYKEY(`emp_id`))ENGINE=InnoDBAUTO_INCREMENT=6DEFAULTCHARSET=utf8

MyBatis动态SQL教程

动态SQL是MyBatis中非常强大且灵活的功能,允许你根据不同的条件构建SQL查询。这主要通过、、、、等标签实现。查询场景/***根据条件查询员工信息*@paramemp*@return*/ListgetEmpCondition(Empemp);if标签的使用标签:该标签用于根据条件判断是否包含某段SQL片段。 select*fromt_empwhere1=1 andemp_name=#{empName} andage=#{age} andgender=#{gender} 测试@Testpublicvoidtest1(){ SqlSessionsqlSession=SqlSe

MyBatis缓存教程

MyBatis提供了一级缓存和二级缓存的支持,用于提高数据库查询的性能,减少不必要的数据库访问。一级缓存(SqlSession级别的缓存)一级缓存是MyBatis中最细粒度的缓存,也称为本地缓存。它存在于每个SqlSession的生命周期中,当SqlSession被关闭或清空时,该缓存就会被清空。什么是SqlSession?SqlSession是Java程序和数据库之间的会话。作用范围:同一个SqlSession中。举例:@Testpublicvoidtest1(){ //获取SqlSession SqlSessionsqlSession=SqlSessionUtil.getSqlSessio

MyBatis的逆向工程教程

MyBatis逆向工程是指根据数据库表结构自动生成对应的实体类、Mapper接口以及SQL映射文件的过程。这个过程可以通过MyBatis提供的逆向工程工具来完成,极大地方便了开发人员,避免了重复的代码编写,提高了开发效率。创建逆向工程的步骤1、添加依赖&插件 org.mybatis.generator mybatis-generator-maven-plugin 1.3.7 src/main/resources/generatorConfig.xml org.mybatis.gener