association collection mybatis mapper
Mybatis
1. Mybatis概述 1.1. Mybatis是什么 Mybatis是一个持久层框架。 1.2. Mybatis的作用 Mybatis是一个持久层框架,当然作用就是操作数据库的(增删改查). 1.3. 为什么需要学习Mybatis Mybatis的理念:让程序员是10%的代码就可以实现数据库的操 ......
mybatis-plus框架配合数据库表时间字段自动更新问题
## 背景 在项目开发前的设计阶段,我们会根据需求分析、业务梳理的结果进行领域建模。 通常有2种方式: 1. 实体设计优先 2. 数据库设计优先 无论哪种方式,最终会创建数据库、数据表。 通常在每一张表,会设计2个时间自动,创建时间和修改时间,这样在查询数据时能够清晰的看到数据行 是什么时候创建、什 ......
Mybatis如何读取配置文件
####一、Mybatis读取配置文件过程 1. 首先,Mybatis会读取配置文件mybatis-config.xml。这个配置文件包含了MyBatis的全局配置信息,例如数据库连接信息、类型处理器、映射器等。 2. Mybatis解析mybatis-config.xml文件,获取配置信息。它使用 ......
springboot整合mybatis
1, 在application.yml中配置 点击查看代码 ``` #mybatis #配置mapper路径 mybatis: mapper-locations: classpath:mapper/*.xml ``` 2, 在每个DAO接口上面追加 @Mapper 注解 增删改查的实现代码 appl ......
Mybatis中查询出来的部分数据为空,能查出行部分字段为空
同样的sql语句,在数据库中能查出完整的行数据 在mybatis中返回数据中能查出行,但是部分有值的字段为空。 首先检查缓存,没问题的话大概率是因为mybatis自动映射的关系: 1.列名不匹配:自动映射会根据数据库中的列名和对象属性名进行映射,如果列名和属性名不匹配,就会导致数据为空。确保数据库列 ......
mybatis 动态数据源核心--AbstractRoutingDataSource
1 public abstract class AbstractRoutingDataSource extends AbstractDataSource implements InitializingBean { 2 @Nullable 3 private Map<Object, Object> t ......
21、MyBatis动态<if>标签的使用详解
一、符号转义详解: 1、转义字符方式: 含义原符号转义字符 小于 < < 小于等于 <= <= 大于 > > 大于等于 >= >= 逻辑与(和) & & 单引号 ‘ ' 双引号 “ " # 查询创建时间是小于2023年的用户 SELECT * FR ......
springboot mybatis mapper 注入原理浅析
spring+mybatis是我们常用的开发组合,一般情况,我们只需要写一个Mapper接口 加上@Mapper注解就可以使用了, 那么他的工作原理是什么呢? 标准mybatis调用应该是这样的流程 1 //读取配置 2 InputStream config = Resources.getResou ......
day 113- mybatis的查询resultMap
mybatis中的resultMap resultMap用来处理字段名和属性名不一致的情况,处理映射关系 若字段名和实体类中的属性名不一致,则可以通过resultMap设置自定义映射 <!-- 字段名和属性名不一致的情况,处理映射关系: 1. 为查询的字段设置别名,和属性名保持一致 2. 当字段符合 ......
Spring Boot 之 Mybatis Plus 分页插件
1. 创建分页插件所在的类MybatisPlusConfiguration,并添加注解`@Configuration` 2. 在配置类中添加以下代码 ```java @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { /** ......
mapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > < ......
【Mybatis】常用的标签积累<sql>、<where>等
一· 常用标签组示例: 二、部分标签总结1.sql片段标签<sql>: 通过该标签可定义能复用的sql语句片段,在执行sql语句标签中直接引用即可。这样既可以提高编码效率,还能有效简化代码,提高可读性, 需要配置的属性:id="" >>>表示需要改sql语句片段的唯一标识 引用:通过<include ......
MyBatis的映射关系
MyBatis的映射关系是有一个默认的,采用下划线命名的方式将数据库表的列名按照驼峰式映射成 Java 实体类的属性名 举个例子数据库表名为 tb_user,其中的字段名为 inst_code,对应的实体类属性名为 instCode,这样不用自定义映射关系,会默认二者相对应的 我们也可以自定义映射关 ......
Mybatis的缓存机制
一级缓存localCache 在应用运行过程中,我们有可能在一次数据库会话中,执行多次查询条件完全相同的 SQL,MyBatis 提供了一级缓存的方案优化这部分场景,如果是相同的 SQL 语句,会优先命中一级缓存,避免直接对数据库进行查询,提高性能。每个 SqlSession 中持有了 Execut ......
9、Mybatis之动态SQL
## 9.1、环境搭建 ### 9.1.1、创建新module > 创建名为mybatis_dynamicSQL的新module,过程参考[5.1节](https://www.cnblogs.com/Javaer1995/p/17419649.html "5.1节") ![image](https: ......
mybatis-plus自动生成实体类
需要引入的依赖pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency><dependency> <groupId>com.baomidou</gro ......
Mybatis 使用汇总(介绍,功能,连接池,日志,注解,XML映射文件)
Mybatis 介绍 Mybatis 功能 Mybatis 连接池 mybatis日志 Mybatis 注解 Mybatis XML 映射文件 01.Mybatis 是一款优秀的持久层框架(DAO),它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置 ......
mybatis中数据库连接池切换到更优秀的连接池上
数据库连接池切换 mybatis中数据库连接池比较流行,性能优越的有2个:数据库连接池技术: A.Hikari(springboot默认)追光者 B.Druid(德鲁伊) 1 Druid(德鲁伊)Druid连接池是阿里巴巴开源的数据库连接池项目功能强大,性能优秀,是Java语言最好的数据库连接池之一 ......
【Mybatis】Mapper 接口都是怎么注入到 Spring容器中的?
1 前言 这节我们看个源码相关的东西,就是我们平时写的 Mapper 接口是怎么注入到 Spring 中呢? 我们会去想: 比如Mapper接口在启动时是如何被发现的? Mapper接口我们知道肯定是会创建代理的,那么代理对象又是如何创建的呢? 我们接下来就来看看。 2 @Mapper引发的效应 在 ......
Mybatis通用Mapper接口扩展
这里的扩展指的是通用Mapper没有提供的功能,如批量 update。 例子:类似于生成下面这样的SQL语句: UPDATE tabple_emp SET emp_name=?,emp_age=?,emp_salary=? where emp_id=? ; UPDATE tabple_emp SET ......
Mybatis中Example的用法(QBC查询)
QBC查询Query By Criteria。Criteria 是 Criterion 的复数形式。意思是:规则、标准、准则。在 SQL 语句中相当于查询条件。QBC 查询是将查询条件通过 Java 对象进行模块化封装。 Example简单介绍 其实就是一个工具,自动帮你生成对应的代码1.examp ......
SpringBoot hikari mybatis-plus 多数据源配置
1、编写配置文件 application.yml spring: datasource: primary: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://ip:5432/iotdata username: postgr ......
Arrays.asList()与Collections.unmodifiableList()
# java.util.Arrays#asList 返回的是在Arrays实现的ArrayList, ``` java private static class ArrayList extends AbstractList implements RandomAccess, java.io.Seria ......
mybatis中如何获取自增主键
### 方法1:在insert标签中使用userGeneratedKeys和keyProperty标签: ``` insert into names (name) values (#{name}) ``` useGeneratedKeys = true 表示开启自动生成主键的功能,keyProper ......
MyBatis 缓存
MyBatis 一级缓存 1 一级缓存原理 在一次 SqlSession 中(数据库会话),程序执行多次查询,且查询条件完全相同,多次查询之间程序没有其他增删改操作,则第二次及后面的查询可以从缓存中获取数据,避免走数据库。 每个SqlSession中持有了Executor,每个Executor中有一 ......
PS滤镜插件套装 Nik Collection 6 中文版下载
Nik Collection是由Google开发的一套Photoshop插件,包含了7个不同的插件,它们分别是: Analog Efex Pro:模拟胶片摄影风格,包含了多种特效和滤镜。 Color Efex Pro:提供了超过50种颜色调整和增强工具,可以让你轻松地进行颜色校正、对比度调整等操作。 ......
mybatis-执行器
# MyBatis 中的 Executor 接口有三个实现类: 1. SimpleExecutor:SimpleExecutor 是最简单的 Executor 实现。它每次执行 SQL 语句时都会创建一个新的 Statement 对象。这种实现方式的缺点是效率较低,因为每次执行 SQL 语句都需要创 ......
Mybatis Plus逆向工程
# Mybatis Plus逆向工程 1. 连接mysql数据库 ![image](https://img2023.cnblogs.com/blog/3014930/202306/3014930-20230625090912884-78651025.png) 2. 选中对应的数据库表,生成逆向工程 ......
Could not resolve type alias 'com.github.mybatis.helper.page.PageSqlInterceptor'.
报错信息 Could not resolve type alias 'com.github.mybatis.helper.page.PageSqlInterceptor'. Cause: java.lang.ClassNotFoundException: Cannot find class: com ......