不好 意思mybatis plus
MyBatis-Plus数据权限控制
平时开发中遇到根据当前用户的角色,只能查看数据权限范围的数据需求。列表实现方案有两种,一是在开发初期就做好判断赛选,但如果这个需求是中途加的,或不希望每个接口都加一遍,就可以方案二加拦截器的方式。在mybatis执行sql前修改语句,限定where范围。 当然拦截器生效后是全局性的,如何保证只对需要 ......
MyBatis-Plus这样实现动态SQL
拦截器介绍 拦截器是一种基于 AOP(面向切面编程)的技术,它可以在目标对象的方法执行前后插入自定义的逻辑。MyBatis 定义了四种类型的拦截器,分别是: Executor:拦截执行器的方法,例如 update、query、commit、rollback 等。可以用来实现缓存、事务、分页等功能。 ......
【问题记录】【Mybatis-Plus】并发下的 QueryWrapper 的查询结果异常问题
1 问题现象 有一次并发情况下,多个线程共用一个 QueryWrapper 导致查询的结果异常,比如: 我们来看下执行的结果: 发现有两个的执行结果异常的,我们再看一下执行的SQL发现: 2 原因分析 我们思考的出发点就是为什么有的SQL后边是空的呢,我们看我们的SQL: 那我们看看 sqlSegm ......
【问题记录】【Mybatis-Plus】多个参数 QueryWrapper 下的查询结果异常问题
1 问题现象 记一次,一个 Mapper接口,用了多个 QueryWrapper 导致查询的结果异常,比如: 我们直接看执行的SQL语句: 2 原因分析 遇到问题,我们要从现象中学会分析,发现第二个查询的参数取到第一个的了,串台了呀,那我们是不是要打印下每个 QueryWrapper 的SQL片段出 ......
springMVC Mybatis ssm整合 post请求json 响应json数据配置
1、pom.xml <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>2.0.32</version> </dependency> 2、springmvc-config.xml ......
MyBatis 面试题
1、什么是Mybatis? 1、Mybatis 是一个半 ORM( 对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身, 不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能, 灵活度 ......
使用 MyBatis 相关依赖包(20230725)
开发 Spring Boot 应用时使用 MyBatis 的相关依赖包…… 说明:本文首次发布于 2023-7-25 10点(北京时间),其中的“最新”是这个时间点最新。 0、序章 梳理开发 Spring Boot 项目时,使用各种 MyBatis 相关依赖包的版本 及其 关系。 1、Spring ......
Mybatis
# 基础知识 什么是Mybatis 它是一款基于java的半自动ORM持久层框架,具有较高的SQL灵活性,支持高级映射(一对一,一对多),动态SQL,延迟加载和缓存等特性,但它的数据库无关性较低。 什么是ORM? Object Relation Mapping,对象关系映射。对象指的是Java对象, ......
Mybatis 一对多处理
测试环境搭建 1:导入lombok (不用lombok忽略) 2:新建实体类 Teacher,Student 3:建立Mapper接口 4:建立Mapper.xml文件 5:在核心配置文件中绑定注册我们的Mapper接口 6:测试 按照结果嵌套处理: <select id="getTeacher" ......
Mybatis 多对一处理
多对一处理: 多个学生,对应一个老师 对于学生而言,关联...多个学生 关联一个老师(多对一) 对于老师而言,集合,一个老师,有很多学生(一对多) 测试环境搭建 1:导入lombok (不用lombok忽略) 2:新建实体类 Teacher,Student 3:建立Mapper接口 4:建立Mapp ......
周一 mybatis
数据库连不上改半天,映射文件名写错了找半天,对难受的从 MySQL Connector/J 8.0.20 版本开始,驱动包名发生了变化,需要使用 "com.mysql.cj.jdbc.Driver" 因为.cj错了找半天 还好最后解决了 ......
Mybatis
## 一、MyBatis 1.MyBatis是一款优秀的持久层框架,用于简化JDBC的开发。 2.官网:https://mybatis.org/mybatis-3/zh/index.html ## 二、JDBC 1.JDBC:(Java DataBase Connectivity),就是使用Java ......
mybatis 插件机制
### PageHelper 先看 PageHelper 的插件签名 ```java @Intercepts( { @Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.cl ......
Mybatis使用注解实现 CRUD
可以在工具类创建时实现自动提交事务 public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(true);//改成 true 可自动提交事务 ,不需要commit }编写接口,增加注解 public ......
Springboot 整合mybatis 加导出excel
# 快速写一个springboot,mybatis的demo,最后用excel导出。 ## 第一步,创建一个新maven ![](https://img2023.cnblogs.com/blog/3242898/202307/3242898-20230723191642994-2086192679. ......
Mybatis入参与返回值类型
mapper接口入参 入参设置方式: 1.单独的参数与对象均直接按默认属性名匹配 (得有对应get、set方法) 2.@param 注解,注解名称代表参数对象 3. package com.Dao; import com.person.People; import org.apache.ibatis ......
Mybatis的嵌套查询-column多条件
## Mybatis的嵌套查询 ### 一、结构 创建三个表`user` `role` `user_role` 简单展示一下嵌套查询的例子,其实就是`Collection`放到 `ResultMap`,下一层把上一层的查询结果作为条件传入。 ```sql -- master.`user` defin ......
MyBatis 常用工具类
## SQL 类 MyBatis 提供了一个 SQL 工具类,使用这个工具类,我们可以很方便在 Java 代码动态构建 SQL 语句 ```java String newSql = new SQL() ({ SELECT("P.ID, P.USERNAME, P.PASSWORD, P.FULL N ......
SpringBoot项目集成Mybatis Generator代码生成器
# 添加依赖 在项目的pom.xml文件中添加以下依赖 ``` org.mybatis.generator mybatis-generator-maven-plugin 1.4.0 src/main/resources/generator/generator-config.xml true true ......
MyBatis-Plus文件上传方法
## 网站的文件上传方法 ### 本地存储上传 ```java // 本地存储方式 MultipartFile接受文件 @PostMapping("/save") public Result save(String username, Integer age, MultipartFile image ......
MyBatis-Plus文件上传方法
## 网站的文件上传方法 ### 本地存储上传 ```java // 本地存储方式 MultipartFile接受文件 @PostMapping("/save") public Result save(String username, Integer age, MultipartFile image ......
MyBatis3 连接MySQL8 提示:message from server: “Host ‘xxx‘ is not allowed to connect to this MySQL server
1、本机搭建mysql,使用mybatis连接提示如下错误信息: ``` message from server: "Host 'xxx' is not allowed to connect to this MySQL server ``` 造成上述的错误的原因: 数据库连接的账户不允许从远程登陆, ......
单页html+vue3+element-plus+axios
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="apple-mobile-web-app-capable ......
git push origin HEAD:refs/for/master 的意思(转)
原文:https://blog.csdn.net/u010312474/article/details/107915694 1.git push <远程主机名> <本地分支名> : <远程分支名> 例如git push origin master:refs/for/master是将本地的master ......
Mybatis练习CRUD
namespace namespcae中的包名要和mapper接口中的方法名一致 - id:就是对应的namespace中的方法名 - resultType: Sql语法执行的返回值 - parameter: 参数类型 1、select(选择、查询语句) 1、编写接口 List<User> getU ......
Mybatis笔记
如何获得Mybatis? maven仓库: <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</ ......
springboot学习之十三(druid+mybaits plus)
Druid介绍Druid是阿里巴巴的一个开源项目,号称为监控而生的数据库连接池,在功能、性能、扩展性方面都超过其他例如DBCP、C3P0、BoneCP、Proxool、JBoss DataSource等连接池,而且Druid已经在阿里巴巴部署了超过600个应用,通过了极为严格的考验,这才收获了大家的 ......
mybatis 插件
### PageHelper 先看 PageHelper 的插件签名 ```java @Intercepts( { @Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.cl ......
JAVA面试之Mybatis
一、#{}和${}的区别是什么?在Mybatis中,有两种占位符#{}解析传递进来的参数数据${}对传递进来的参数原样拼接在SQL中#{}是预编译处理,${}是字符串替换。使用#{}可以有效的防止SQL注入,提高系统安全性。 二、当实体类中的属性名和表中的字段名不一样 ,怎么办 ? 第1种: 通过在 ......