草庐IT

Mybatis-Generator

全部标签

Mybatis的parameterType造成线程阻塞问题分析

一、前言最近在新发布某个项目上线时,每次重启都会收到机器的CPU使用率告警,查看对应监控,持续时长达5分钟,对于服务重启有很大风险。而该项目有非常多Consumer消费,服务启动后会有大量线程去拉取消息处理逻辑,通过多次Jstack输出线程快照发现有很多BLOCKED状态线程,此文主要记录分析BLOCKED原因。二、分析过程2.1、初步分析"consumer_order_status_jmq1714_1684822992337"#3125daemonprio=5os_prio=0tid=0x00007fd9eca34000nid=0x1ca4fwaitingformonitorentry[0x

【Java系列】MyBatis-Plus常见面试题

 问题列表Q1:MyBatis-Plus是什么?它有什么优点?MyBatis-Plus是MyBatis框架的一个扩展库,它提供了一系列方便的API和工具,可以简化常见的数据库操作。MyBatis-Plus的优点包括:提高开发效率:MyBatis-Plus提供了代码生成、分页、查询构建等功能,可以帮助开发人员快速开发数据库相关的功能。简化操作:MyBatis-Plus提供了一些常用的API和工具,可以简化CRUD操作、批量操作等常见的数据库操作。提高代码可读性:MyBatis-Plus提供了一些Lambda表达式的API,可以使代码更加简洁易读。Q2:MyBatis-Plus的主要API有哪些?

【MyBatis框架】关联映射

关系映射1.关联映射概述2.环境搭建3.处理字段名和属性名不一致的情况4.处理一对一映射5.处理多对一映射5.1级联方式处理5.2使用association处理映射关系5.3分步查询6.处理一对多查询7.小结1.关联映射概述在关系型数据库中,多表之间存在着三种关联关系,分别为一对一,一对多和多对多,如图一对一的关系:就是在本类中定义对方类型的对象,如A类中定义B类类型的属性b,B类中定义A类类型的属性a。一对多的关系:就是一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a。多对多的关系:在A类中定义B类类型的集合,在B类中定义A类类型的

【MyBatis框架】关联映射

关系映射1.关联映射概述2.环境搭建3.处理字段名和属性名不一致的情况4.处理一对一映射5.处理多对一映射5.1级联方式处理5.2使用association处理映射关系5.3分步查询6.处理一对多查询7.小结1.关联映射概述在关系型数据库中,多表之间存在着三种关联关系,分别为一对一,一对多和多对多,如图一对一的关系:就是在本类中定义对方类型的对象,如A类中定义B类类型的属性b,B类中定义A类类型的属性a。一对多的关系:就是一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a。多对多的关系:在A类中定义B类类型的集合,在B类中定义A类类型的

SpringBoot整合Redis配置MyBatis二级缓存

目录写在前面源码获取一、MyBatis缓存机制1.1、一级缓存1.2、二级缓存二、集成Redis2.1、安装Redis2.2、项目引入Redis2.2.1、Maven依赖2.2.2、配置application.yml2.2.3、配置序列化规则三、配置二级缓存2.1、开启二级缓存2.2、自定义缓存类2.3、增加注解2.4、测试验证写在前面文中项目基于从0到1项目搭建-框架搭建,如果你是新手,可以跟着上期内容先动手把项目框架搭建起来,然后在结合本期内容继续深入学习,这样会有更好的效果。接下来正式介绍本文,本文讲的是在SpringBoot项目中集成使用Redis,并使用Redis实现MyBatis的

SpringBoot整合Redis配置MyBatis二级缓存

目录写在前面源码获取一、MyBatis缓存机制1.1、一级缓存1.2、二级缓存二、集成Redis2.1、安装Redis2.2、项目引入Redis2.2.1、Maven依赖2.2.2、配置application.yml2.2.3、配置序列化规则三、配置二级缓存2.1、开启二级缓存2.2、自定义缓存类2.3、增加注解2.4、测试验证写在前面文中项目基于从0到1项目搭建-框架搭建,如果你是新手,可以跟着上期内容先动手把项目框架搭建起来,然后在结合本期内容继续深入学习,这样会有更好的效果。接下来正式介绍本文,本文讲的是在SpringBoot项目中集成使用Redis,并使用Redis实现MyBatis的

MyBatis学习:动态SQL中<if>标签的使用

1、本篇博客的背景和目的我本人正在学习MyBatis框架,在原先了解并且懵懵懂懂使用的基础上,开始系统正式的学习。阐述了MVC架构模式和三层架构,明晰了在Web项目中的普遍编码层次,回顾了JDBC连接数据库,建立了使用MyBatis和MySQL的Maven项目,解释了STDOUT_LOGGING日志和手动提交事务,记录了MyBatis中#占位符的使用方法,回顾了MyBatis执行SQL语句的过程和使用到的一些重要类和接口,记录了将固定化的代码整合到一个工具类MyBatisUtil中,以减少代码量。记录了dao层接口的实现以及为什么要实现它。记录了MyBatis动态代理和使用动态代理的要求以及使

MyBatis学习:动态SQL中<if>标签的使用

1、本篇博客的背景和目的我本人正在学习MyBatis框架,在原先了解并且懵懵懂懂使用的基础上,开始系统正式的学习。阐述了MVC架构模式和三层架构,明晰了在Web项目中的普遍编码层次,回顾了JDBC连接数据库,建立了使用MyBatis和MySQL的Maven项目,解释了STDOUT_LOGGING日志和手动提交事务,记录了MyBatis中#占位符的使用方法,回顾了MyBatis执行SQL语句的过程和使用到的一些重要类和接口,记录了将固定化的代码整合到一个工具类MyBatisUtil中,以减少代码量。记录了dao层接口的实现以及为什么要实现它。记录了MyBatis动态代理和使用动态代理的要求以及使

【Java系列】Mybatis-Plus 使用介绍二

序言你只管努力,其他交给时间,时间会证明一切。MyBatis-Plus是MyBatis的增强工具,它简化了MyBatis的开发,并提供了许多实用的功能和工具类。下面是MyBatis-Plus的使用方法:1使用方法1.引入依赖在Maven项目中,需要在pom.xml文件中添加如下依赖:com.baomidoumybatis-plus-boot-starter3.4.3.1其中 mybatis-plus-boot-starter 是MyBatis-Plus的SpringBootStarter。2.配置MyBatis-Plus在SpringBoot项目中,可以通过在application.prope

SSM实现学生管理系统(spring+springMVC+MyBatis)

SSM实现学生管理系统(spring+springMVC+MyBatis)一、项目介绍该项目是基于SSM框架实现的学生管理系统,能够对学生信息进行增删改查,分页查询,以及实现管理员的注册、登录数据库:MySQL开发工具:idea开发环境:jdk1.8+tomcat二、项目结构三、创建数据库(studentManager)在studentManger数据库中,创建登录注册表login和学生信息表student请参考JavaWeb实现学生管理系统四、相关配置文件1.配置maven环境,在pom.xml配置文件中导入对应的依赖包dependency>groupId>org.springframewo