springboot3 springboot mybatis mapper

MyBatis使用细节

一、别名 在核心配置文件中使用<typeAliases>标签配置别名。 别名可以用于映射文件中的resultType属性。 1.直接配置别名 <typeAliases> <!-- type:类型全限定路径 alias:别名名称 --> <typeAlias type="com.gsy.pojo.Pe ......
细节 MyBatis

java项目使用Mybatis-Plus插件,QueryWrapper日期开始-结束范围查询

1、参数开始日期startTime、结束日期endTime 挺好用,开始日期、结束日期当天都包含进去了,如果使用qw.between("create_time", startTime, endTime)方法是不含endTime结束日期当天的 qw.apply(bCulresCardMvVO.getS ......

SpringBoot获取Bean的工具类

1、beanName 默认是类名首字母小写 下面的类:beanName = bean1 @Component public class Bean1 { public String getBean1() { return "Bean1"; } } 修改beanName 下面的类:beanName = ......
SpringBoot 工具 Bean

mybatis 动态sql

动态sql练习 所用工具:sts 小皮 sql数据库 导入的包: 配置文件 : 实体类:emp cn.lexed.dao 包下的接口和映射文件: 工具类untils: 测试类test: ......
mybatis 动态 sql

mybatis游标使用

RowData RowDataDynamic: 流式查询。一次只查询一条数据,next()时会查询下一条。(占用数据库连接) 需要设置resultSetType=ResultType.FORWARD_ONLY,并且fetchSize 一定要等于Integer.MIN_VALUE 原因在这 com.m ......
游标 mybatis

【Springboot2】@Transactional 使用注意

问题: 使用@Transactional注解后,事务不生效 原因: 如果一个方法A直接调用同一个类中的另一个方法B,那么@Transactional注解将会失效 解决方法: 将方法B写到另一个类中 参考: https://springdoc.cn/spring-boot-database-trans ......
Transactional Springboot2 Springboot

解决 springboot 2.6.6 版本中内嵌 tomcat 9.0.60 版本 严格执行RFC 3986规范,导致在 GET 请求中出现保留字符请求错误的问题。

项目中get请求:http://domain:port/api/module/function/getList?pageNum=1&pageSize=1000&keyWord=[]&id=; keyWord的参数应该是 keyWord="[]",如果不加双引号,keyWord就变成了数组,后台接口就 ......
版本 springboot 字符 错误 tomcat

忽视日志吃大亏,手把手教你玩转 SpringBoot 日志

一、日志重要吗 程序中的日志重要吗? 在回答这个问题前,笔者先说个事例: ❝ 笔者印象尤深的就是去年某个同事,收到了客户反馈的紧急bug。尽管申请到了日志文件,但因为很多关键步骤没有打印日志,导致排查进度很慢,数个小时都没能排查到问题,也无法给出解决对策。导致了客户程序一直阻断,最终产生了不少损失。 ......
日志 SpringBoot

(关于创建时用com/example和com.example导致的mapper包对应不上)org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.mapper.EmpMapper.list

日志输出:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apa ......

简述MyBatis动态SQL

简述MyBatis动态SQL 前言 MyBatis是一个用于Java持久层的开源框架,它提供了一种简化数据库访问的方式。MyBatis的动态SQL功能允许我们根据不同的条件动态生成SQL语句,以实现更灵活的数据库操作。 在MyBatis中,我们经常使用以下标签来编写动态SQL: < if/> 作用: ......
MyBatis 动态 SQL

好用的IDEA插件之Mybatis Log Free

今天看到一个公众号说的插件,可以记录MyBatis执行的SQL语句,不用去拼接sql语句,可以直接看到sql语句。 没用插件之前: 可以看到那个分页查询需要去拼接sql语句,把2拼接上。 使用了插件后; 不用自己拼接,可以直接看见sql语句。非常方便,也可以帮助排查sql语句错误。 最后那个插件样子 ......
插件 Mybatis IDEA Free Log

SpringBoot中使用@Retryable注解进行重试

SpringBoot中使用@Retryable注解进行重试 有功能需要重试时,可以使用Spring的 @Retryable 注解. 参数含义: value:抛出指定异常才会重试 exclude:指定不处理的异常 maxAttempts:最大重试次数,默认3次 backoff:重试等待策略,默认使用@ ......
注解 SpringBoot Retryable

springboot跨域解决方案

@Bean public CorsFilter corsFilter() { CorsConfiguration config = new CorsConfiguration(); config.addAllowedOriginPattern("*"); config.setAllowCredent ......
springboot 解决方案 方案

7min到40s:SpringBoot 启动优化实践!

0 背景 公司 SpringBoot 项目在日常开发过程中发现服务启动过程异常缓慢,常常需要 6-7 分钟才能暴露端口,严重降低开发效率。通过 SpringBoot 的 SpringApplicationRunListener 、BeanPostProcessor 原理和源码调试等手段排查发现,在 ......
SpringBoot 7min 40s min 40

SpringBoot实现CORS跨域的三种方式

一、实现WebMvcConfigurer接口 @Configuration public class WebConfig implements WebMvcConfigurer { /** * 添加跨域支持 */ @Override public void addCorsMappings(CorsR ......
SpringBoot 方式 CORS

SpringBoot 内置工具类

引入工具包 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.3.10</version> <!-- 您应该选择适合您项目的版本 --> </depe ......
SpringBoot 工具

MyBatis-奇怪的错误

首先我的工具类 SqlSessionFactionUtil.java用来创建sqlSessionFactory public class SqlSessionFactionUtil { static InputStream resourceAsStream = null; static{ //1.通 ......
错误 MyBatis

SpringBoot一个小案例

pojo public class User { private int userid; public User(int userid) {this.userid = userid;} public User() {} public int getUserid() {return userid;} ......
SpringBoot 案例

springboot启动时指定spring.profiles.active

使用命令行直接运行jar文件: java -jar -Dspring.profiles.active=test demo-0.0.1-SNAPSHOT.jar 启动进程 nohup java -jar demo-0.0.1-SNAPSHOT.jar > log.file 2>&1 &上面的2 和 1 ......
springboot profiles spring active

springboot启动后异步启动一个程序

如果你想在 Spring Boot 启动后异步方式启动一个方法,你可以使用 Spring Framework 的异步支持和 @Async 注解来实现。以下是如何在 Spring Boot 应用程序中异步方式启动一个方法的步骤: 配置异步支持: 首先,在应用程序的主类上添加 @EnableAsync  ......
springboot 程序

SpringBoot的启动流程扩展点

阅读说明:1.如果有排版格式问题,请移步https://www.yuque.com/mrhuang-ire4d/oufb8x/yo5ywqt5eudxvxfc,选择宽屏模式效果更佳。2.本文为原创文章,转发请注明出处。 SpringBoot的启动流程 启动源码如下: public Configura ......
SpringBoot 流程

Mybatis-Plus--使用p6spy对SQL性能进行监控

第一步、引入maven依赖 <!-- p6spy sql性能分析工具--> <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>3.9.1</version> </dependency> 第二步、 ......
Mybatis-Plus 性能 Mybatis p6spy 6spy

SpringBoot 2.7.x 整合 swagger2 冲突问题

问题描述 SpringBoot2.7.x 版本在整合 swagger2 时抛出异常如下: 复制代码 org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsB ......
SpringBoot swagger2 swagger 问题

MyBatis-${}与#{}的区别

#{} 是先被mybatis解析成 ?占位符 然后进行预编译,能避免 sql注入问题。但是不能用于表名、列名的占位符。(因为JDBC不允许?作为表名列名的占位符) ${} 是直接解析成表达式对应的值,进行了赋值,如果sql还有?占位符就进行预编译,但由于预编译前就进行了赋值,可能存在sql注入问题。 ......
MyBatis

mybatis-plus 自定义拦截器

package com.chen.config; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; ......
mybatis-plus mybatis plus

springboot配置启动文件的问题

1、缘由:用sh命令启动bat时出现错误 端口号就找错了。 原bat。启动时发现端口是8081,但我的application.properties 写的不是8081啊,为什么会找8081,原来是因为如果你用bat快捷方式启动,他会在bat目录下,找到propertity文件, 如果用sh启动,则找不 ......
springboot 文件 问题

springboot整合mybatis中使用分页插件 getTotal为0的原因(本人出现的问题)

本人将实现分页插件 pagehelper.startpage()放到 page<Employee>这条语句的 前面就获得到了total的值 ......
springboot 插件 getTotal 原因 mybatis

mybatis

一对多 多对一 框架练习 代码如下: 导入的包: 配置文件和主配置文件 实体类:classes student teacher 导入的工具包,方便mbatis连接 在dao包下的映射文件和接口 classes: student: teacher: 最后的测试类: 完成! ......
mybatis

springboot部署jar项目

查询进程: ps -ef | grep java 杀死项目进程: kill -9 进程号 部署命令liunx: 自己创建日志放入nohup.out文件中 nohup java -jar visPlat-service-2.3.0.230522_CLOUD_RELEASE.jar & 重定向日志文件到 ......
springboot 项目 jar

Java观察者模式-SpringBoot实现观察者模式

观察者模式 一、Java观察者模式 Java观察者模式是一种设计模式,用于实现对象之间的一对多依赖关系。在观察者模式中,当一个对象的状态发生变化时,它的所有依赖对象(观察者)都会自动收到通知并进行相应的更新。 观察者模式由以下几个核心组件组成: 主题(Subject):也称为被观察者或可观察对象,它 ......
观察者 模式 SpringBoot Java