association collection mybatis mapper

mybatis动态sql

动态sql ......
mybatis 动态 sql

Mybatis 特殊符号(大于,小于,不等于)

符号原符号替换符号 小于 < &lt; 小于等于 <= &lt;= 大于 > &gt; 大于等于 >= &gt;= 不等于 <> &lt;&gt; 与 & &amp; 单引号 ’ &apos; 双引号 " &quot; ......
符号 Mybatis

mybatis缓存源码解析

为什么使用缓存 减少和数据库交互次数,提高执行效率 mybatis的缓存 mybatis一级缓存,也就是局部的sqlSession级别的缓存,默认是开启的 每一个 session 会话都会有各自的缓存,这缓存是局部的,也就是所谓的一级缓存 mybatis二级缓存,是sqlSessionFactory ......
缓存 源码 mybatis

mybatis查询大批量数据的几种方式

问题背景 公司里有很多需要跑批数据的场景,这些数据几十万到几千万不等,目前我们采用的是分页查询,但是分页查询有个深度分页问题,上百万的数据就会查询的很慢 常规解决方案 全量查询 分页查询 流式查询 游标查询 1. 全量查询 默认情况下,全量查询的话系统会把所有结果集存储在内存中,在数据库中准备了大概 ......
大批量 mybatis 方式 数据

mybatis plus 自定义sql分页

@Select("select * from t1 where id in (select id from t2)") Page<xxx> getXxxx(IPage<xxx> page,@Param("uid") Integer uid); 这个是根据uid进行查询,并且分页返回,mybatis ......
mybatis plus sql

Mybatis中#{}和${}的区别

#和$都是一种占位符号,都是实现动态SQL的方式 1.#占位符等同于dbc里的问号占位符,他相当于向preparestatement里面的预处理语句设置参数,sql语句预编译时会将特殊字符转义,可以有效防止SQL注入。 2.\$是用于动态传参,多用于动态SQL里动态传递表名,动态设置排序字段。 ......
Mybatis

获取Mybatis中的sql

项目中需要获取mapper中的sql语句,方便Influxdb使用,分有参数和无参数 1、有参数 public static String getSql(String id, Object parameterObject){ String sql = factory.getConfiguration ......
Mybatis sql

Mybatis中foreach的使用

foreach一共有List,array,Map三种类型的使用场景。 foreach的主要用在构建in条件中,它可以在sql语句中进行迭代一个集合。 collection:表示迭代集合的名称,可以使用@Param注解指定(必选参数) item:表示集合中每一个元素进行迭代时的别名,若collecti ......
Mybatis foreach

SpringBoot+Mybatis三级查询

一、概述 现有一个需求:查询视频详情。对应三张表,视频表、章节列表、集列表。一个视频对应多个章节,一个章节对应多集视频。请根据视频id查询视频详情,并把视频的章节列表,章节中的集列表都带出来。 SpringBoot和MyBatis-plus说明: <!--根模块继承了SpringBoot,子模块也跟 ......
SpringBoot Mybatis

面试题:Mybatis中的#{}和${}有什么区别?这是我见过最好的回答

面试题:Mybatis中的#{}和${}有什么区别? 前言 今天来分享一道比较好的面试题,“Mybatis中的#{}和${}有什么区别?”。 对于这个问题,我们一起看看考察点和比较好的回答吧!题,看看普通人 考察点 mybatis是现在企业级开发中经常使用的数据持久层框架,这个问题就是面试官想考察我 ......
Mybatis 最好 这是

mybatis

mybatis mybatis 是一款优秀的持久层框架 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对 ......
mybatis

mybatis中使用分页插件需要添加的依赖,插件在mybatis-config.xml中的配置,以及使用的方式

2023-09-12 导入的依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.3.2</version> </dependency> myba ......
插件 mybatis mybatis-config 方式 config

SpringBoot+MyBatis分页查询

一、概述 做了一个小demo查询订单列表,自己做测试的时候可能就几条订单,但是一旦订单多起来的时候就需要用到分页查询了。不然一次性加载太多,前后端都受不了。 这里使用mybatis提供的分页插件来做。 二、实例 1.导入SpringBoot和MyBatis 版本还是用2.x <parent> <gr ......
SpringBoot MyBatis

使用mybatis进行批量添加与批量删除

2023-09-12 StoreHouseMapper /** * 批量添加 */ void insertMoreSH(@Param("storeHouses") List<StoreHouse> storeHouses); /** * 批量删除方式一 */ void deleteMoreSH(@P ......
mybatis

面试官:说一下 MyBatis 缓存机制?

MyBatis 的缓存机制属于本地缓存,适用于单机系统,它的作用是减少数据库的查询次数,提高系统性能。 MyBaits 中包含两级本地缓存: 一级缓存:SqlSession 级别的,是 MyBatis 自带的缓存功能,默认开启,并且无法关闭,因此当有两个 SqlSession 访问相同的 SQL 时 ......
缓存 机制 MyBatis

解决collection查询一对多分页条数不对问题

错误问题:collection查询一对多分页统计数量是统计详情的条数 解决思路:collection分成两次查询 <resultMap id="resultMap" type="com.zgdd.business.vo.UserVO"> <result column="id" property="i ......
collection 问题

mybatis choose 标签使用

choose when otherwise 标签可以帮我们实现 if else 的逻辑。 一个 choose 标签至少有一个 when, 最多一个otherwise /** * - 当 type 有值时, 使用 type 进行查询; * - 当 type 没有值时, 使用 type = 1 进行查询 ......
mybatis 标签 choose

Mybatis plus更新字段值为null

使用Mybatis-plus操作数据库时,如果未自己写sql而是采用Mybatis-plus的方法设置sql的情况下,默认Mybatis-plus生成sql时会将设置为null的字段忽略掉(不更新该字段); 解决方法: 1、自己写sql 在mapper.xml中写对应的sql语句(insert语句/ ......
字段 Mybatis plus null

mybatis中的多表联查(第一步先通过仓库的id获取仓库数据,第二部通过在仓库数据中包含的商品id查询出商品的数据)

2023-09-12 仓库 StoreHouseMapper /** * 分步查询 * 首先通过仓库的id查询出仓库 */ StoreHouse getSHAndGoodsByStepOne(@Param("id")Integer id); StoreHouseMapper.xml <resultM ......
仓库 数据 商品 mybatis

Java collect()方法

这个方法在Stream类里定义需要结合动态规约理解 三个参数 解析 <R> R collect(Supplier<R> supplier, BiConsumer<R,? super T> accumulator, BiConsumer<R,R> combiner) supplier:生成用来保存结果 ......
collect 方法 Java

mybatis中设置自增的值,使用resultmap设置多对一的关系以及使用级联的方式设置多对一的关系

2023-09-11 UserMapper void insertUser(User user); UserMapper.xml <insert id="insertUser" useGeneratedKeys="true" keyProperty="id"> insert into t_user ......
resultmap mybatis 方式

mybatis中的模糊查询,批量删除,以及按照表名查询

2023-09-11 1、模糊查询 UserMapper List<User> getUserByLike(String mohu); UserMapper.xml <select id="getUserByLike" resultType="com.hh.pojo.User"> select * ......
mybatis

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

​ 1、基本概念 1.1、Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解 ......
SpringMVC 框架 MyBatis 教程 Spring

Java创建List的4种方法 Stream.of("a", "b").collect(Collectors.toList()); List list3 = Lists.newArrayList("f", "g");

Java创建List的4种方法 原文链接:https://blog.csdn.net/senlin1202/article/details/116135993 1、通过构造方法,例如:List<String> list = new ArrayList<>(); 然后调用list.add增加元素,如果 ......
quot List newArrayList Collectors collect

mybatis中字段映射与表名映射

2023-09-10 @Data @TableName("tbl_phone") public class Phone { @TableField(select = false) private Integer id; private String type; private String name ......
字段 mybatis

mybatis-plus中添加的依赖,使用的方法,分页查询中添加的拦截器

2023-09-10 mybatis-plus中添加的依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version> ......
mybatis-plus mybatis 方法 plus

Mybatis 学习

1. 第一个程序 1.1 配置数据库 表中包含id、name、password 1.2 配置pom.xml mysql-connector 5.几有问题,用8.几 mybatis junit <build <resources中的directory、includes、filetering中为fals ......
Mybatis

mybatis核心配置文件以及mapper文件的配置

config文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3 ......
文件 核心 mybatis mapper

MyBatis实现In查询(XTHS 实测)

一. SQL语法实现In查询 SQL语句实现In查询 SELECT * FROM user_info WHERE user_name in ('xixi','haha'); 二. MyBatis实现In查询 错误范例:如果在MyBatis中也使用类似SQL语法来实现In查询,像如下示例,肯定会报错, ......
MyBatis XTHS

MyBatis 的 # 传参,是参数化查询,那参数化查询到底为什么可以防止sql注入?

对于 MyBatis 的 # 传参,虽然最终的 SQL 查询语句中会将参数值替换到对应的位置,但是这个过程并不是简单的字符串拼接,而是通过预编译的方式进行处理。这样做有以下几个方面的好处,从而减少了 SQL 注入的风险: 参数值转义:在参数化查询中,MyBatis 会自动对参数值进行转义处理。这样可 ......
参数 MyBatis sql