mybatis
文章平均质量分 91
mybatis
爱吃牛肉的大老虎
学无止境,既要有深度又要有广度地学习
展开
-
Mybatis之动态SQL使用讲解
中, 如果我们的方法 updateByPrimaryKeySelective 没有使用 标签, 那么我们就要想办法处理字段全为空的条件, 字段不为空的条件等。我们插入数据库中的一条记录, 不是每一个字段都有值的, 而是动态变化的。在此 SQL 语句中, where 1=1 是多条件拼接时的小技巧, 后面的条件查询就可以都用 and 了。这是常见的一种现象, 我们在进行按条件查询的时候, 可能会有多种情况。的时候, where 1=1 这个条件我们是不希望存在的。这三个其实解决的是类似的问题。原创 2024-05-13 09:14:13 · 717 阅读 · 0 评论 -
Mybatis之批处理流式查询
流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。如果没有流式查询,我们想要从数据库取1000 万条记录而又没有足够的内存时,就不得不分页查询,而分页查询效率取决于表设计,如果设计的不好,就无法执行高效的分页查询。因此流式查询是一个数据库访问框架必须具备的功能。MyBatis中使用流式查询避免数据量过大导致OOM执行一个流式查询后,数据库访问框架就不负责关闭数据库连接了,需要应用在取完数据后自己关闭。原创 2023-06-07 09:40:10 · 2704 阅读 · 2 评论 -
Mybatis和Mybatis-Plus对MySQL中json类型处理
那么在对应的mapper文件里面对应的JSON字段 添加typeHandler。就可以自动使用这些类型处理器进行类型转换,从而简化了开发人员的工作。中增加对应配置,把定义的类型转换器注册到mybatis容器中。配置文件中的一个属性,用于指定自定义类型处理器的包名。自动扫描指定包下的所有类型处理器,并将其注册到。容器中,如果像上面使用类似1.3.2自定义的。在xml中写sql语句时,需要将使用到。这样,在进行数据库操作时,字段的地方配置,以下以插入为例。框架中的注解,用于指定。字段的地方配置,也要像。原创 2023-05-19 08:59:36 · 3391 阅读 · 0 评论 -
Mapper层注解讲解
其实,标签 注解专用的,其他的注解,例如@Insert、@Update、@Delete等等,都可以使用的。注解的值是字符数组,但是真正生效的应该是最后那条SQL语句。注解时,参数只能有一个,可以是一个基本的数据也可以是一个。与接口进行对应的,如果写了两个同名的接口,就会导致。普通的字符串值,只能实现变量的替换功能,实现简单的。完全可以省略不写,也完全可以实现自动注入,但是在。里面取出来的,取出来的值就是方法中形式参数。这个注解,那么映射文件中的标签中可以不用写。层接口上,作用是将接口的一个实现类交给。原创 2022-11-25 17:13:14 · 47190 阅读 · 7 评论 -
SpringBoot使用Druid监控SQL
文章目录1 监控mybatis下SQL1.1 Druid简介1.2 添加pom.xml依赖1.3 配置相关属性1.3.1 如何配置 Filter1.4 监控页面1.5 sql监控1.6 慢sql记录1.7 spring 监控1.8 去 Ad(广告)1.9 获取Druid的监控数据2 监控mybatis-plus下SQL2.1 pom.xml2.2 application.yml2.3 相关配置信息1 监控mybatis下SQL1.1 Druid简介Druid是阿里巴巴开发的号称为监控而生的数据库连接池转载 2022-05-02 18:50:19 · 2393 阅读 · 0 评论 -
Mybatis之批处理DML操作
文章目录1 Mybatis批处理1.1 引言1.2 初级使用批量1.3 升级使用1.4 批量标准写法1 Mybatis批处理1.1 引言处理批处理的方式有很多种,这里不分析各种方式的优劣,只是概述 ExecutorType.BATCH这种的用法简单了解一下批处理背后的秘密,BatchExecutor批处理是 JDBC 编程中的另一种优化手段。JDBC 在执行 SQL 语句时,会将 SQL 语句以及实参通过网络请求的方式发送到数据库,一次执行一条 SQL 语句,一方面会减小请求包的有效负载,另一个方面转载 2022-05-07 12:42:21 · 2286 阅读 · 4 评论 -
hibernate与mybatis异同与比较
文章目录1 hibernate与mybatis异同1.1 引言1.2 具体运用上的不同1.2.1 所需的jar包1.2.2 映射关系1.2.3 配置文件1.2.4 基本用法(增删改查模糊)1.2.4.1 Mybatis1.2.4.2 Hibernate1.2.5 与Spring的整合1.2.5.1 Mybatis1.2.5.2 Hibernate1.2.6 注解支持1.2.6.1 mybatis1.3 各种效果上的不同1.4 总结1 hibernate与mybatis异同1.1 引言最近一直用myba转载 2022-05-03 12:05:54 · 335 阅读 · 0 评论 -
MyBatisPlus讲解
文章目录1 简介1.1 核心注解1.2 CRUD接口1.2.1 mapper接口1.2.1.2 selectMaps1.2.1.3 selectObjs1.2.1.4 selectCount1.2.2 service接口1.2.2.1 链式调用1.3 条件构造器1.3.1 AbstractWrapper1.3.2 使用condition1.3.3 实体对象作为条件1.3.4 allEq1.3.5 lambda条件构造器1.4 更新操作1.4.1 updateById(T entity)1.4.2 updat转载 2021-05-30 17:10:02 · 1290 阅读 · 1 评论 -
MyBatisPlus使用
文章目录1 简介1.1 项目搭建1.1.1 maven依赖1.1.2 配置文件部分1.1.3 创建实体1.1.4 创建mapper1.1.5 创建service1.1.6 创建controller1 简介MyBatis-plus 是一款 Mybatis 增强工具,用于简化开发,提高效率。下文使用缩写 mp来简化表示MyBatis-plus,本文主要介绍 mp 搭配 Spring Boot 的使用官方网站:https://mp.baomidou.com/1.1 项目搭建创建一个Spring Boot原创 2021-05-30 17:08:34 · 270 阅读 · 0 评论 -
Mybatis之一二级缓存和拦截器
文章目录1 Mybatis拦截器1.1 引言1.2 mybatis核心1.3 Mybatis拦截器接口1.4 @Intercepts注解1 Mybatis拦截器1.1 引言Mybatis拦截器设计的初衷就是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。减少代码侵入通过Mybatis拦截器我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法。所以Mybatis拦截器的使用范围是非常原创 2021-03-09 18:52:16 · 1236 阅读 · 4 评论 -
Mybatis之原理详解和Mapper接口怎么注入Spring容器
文章目录1 mapper接口1.1 引出问题1.2 MyBatis-Spring1.2.1 MyBatis-Spring基础1.2.2 MyBatis-Spring原理1.2.3 讲解1.2.3.1 注册1.2.3.2 获取1.2.4 整体流程图1.3 总结1.3.1 定位1.3.2 加载1.3.3 注入1 mapper接口1.1 引出问题经常用Spring和MyBatis也挺久的了,但是一直比较好奇mapper接口是怎么加载到spring容器中的,因为要想注入spring容器中,都必须有实例的,这就原创 2020-09-07 18:42:06 · 12409 阅读 · 4 评论 -
mybatis之动态SQL
1 foreachforeach的官网文档<select id= "selectPath" resultType="Post"> select * from post where id in <foreach item = "item" index = "index" collection = "list" open = "(" close = ")" separator = "," > #{item} </foreach></select>转载 2020-09-07 14:44:00 · 2142 阅读 · 2 评论 -
iBatis详解以及和MyBatis区别
文章目录1 ibatis1.1 ibatis基础1.1.1 ibatis过渡为mybatis1.2 区别1.2.1 ibatis和mybatis区别1.2.1.1 配置文件区别1.2.1.2 sql语句区别1.2.1.3 SqlSession执行区别1.2.1.4 属性设置区别1.2.1.5 配置事务管理器和数据源区别1.2.1.6 指定映射文件的方式区别1.2.1.7 代码配置和SQL与方法绑定区别1.2.1.8 映射文件区别1.2.1.9 调用存储过程区别1.3 ibatis语法1.3.1 iterat原创 2020-09-07 11:47:26 · 26513 阅读 · 3 评论 -
AutoGenerator反向生成详解
文章目录1 概述1.1 pom依赖1.2 java代码1 概述AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。可以通过模版等一系列的方式来生成代码,这个比Mybatis-Generator的更加强......原创 2020-04-19 21:55:06 · 2363 阅读 · 0 评论 -
Mybatis之配置文件和注解CRUD
目录1 Mybatis配置1.1Mybatis配置文件conf.xml1.1.1配置单独放在一个properties文件1.2 sql映射文件userMapper.xml1.2.1定义实体类别名1.3 配置测试2使用MyBatis对表执行CRUD操作——基于注解的实现2.1 mapper接口2.2 配置conf.xml2.3 测试类1 Mybatis配置用到的实体user public class User { //实体类的属...原创 2018-04-18 14:29:08 · 1241 阅读 · 0 评论 -
mybatis的归纳以及主键返回之自增主键
Mybatis的了解: mybatis就是一个封装来jdbc的持久层框架,它和hibernate都属于ORM框架,但是具体的说,hibernate是一个完全的orm框架,而mybatis是一个不完全的orm框架。Mybatis让程序员只关注sql本身,而不需要去关注如连接的创建、statement的创建等操作。当mybatis没有用mapper文件时,建立实体和映射文件的规则: ...原创 2018-08-17 11:15:10 · 1409 阅读 · 0 评论 -
mybatis之ResultMap,延迟加载和MySQL数据类型转换
文章目录1 mybatis标签1.1 ResultMap1.1.1 id, result元素1.1.2 Constructor元素1.1.3 association 元素1.1.4 Discriminator元素1.1.5 Cache元素1.1.6 cache-ref元素2 类型映射1 mybatis标签1.1 ResultMap示例如下:<resultMap id="detailedBlogResultMap" type="Blog"> <constructor>原创 2017-10-27 20:43:29 · 3282 阅读 · 0 评论 -
Mybatis3.x与Spring4.x整合
调取存储过程的三个方法:1.如果是PL/SQL命令窗口就用execute(简写:exec )存储过程名,举个例子:EXEC procedure;--procedure是存储过程名2.如果是PL/SQL窗口就用 begin 存储过程名 end;begin procedure;--procedure是存储过程名end;3.如果是程序中调用就用 call 存储过程名...原创 2019-01-03 20:06:07 · 1582 阅读 · 0 评论 -
Mybatis之StatementType和调用存储过程
目录1StatementType2 调用存储过程2.1 一般调用步骤2.2 mybatis调用存储过程2.2.1 准备表和数据库2.2.2userMapper.xml2.2.3 测试1StatementType在mapper文件中可以使用statementType标记使用什么的对象操作SQL语句。statementType:标记操作SQL的对象要实现动态传入表名、列名,需要做如下修改 ,添加属性statementType=”STATEMENT” ,同.....原创 2019-01-03 10:11:27 · 19878 阅读 · 4 评论 -
元素类型为 “resultMap“ 的内容必须匹配 “(constructor?,id*,result*,association*,collection*,discriminator?)“
报错:元素类型为 “resultMap” 的内容必须匹配 “(constructor?,id*,result*,association*,collection*,discriminator?)”使用mybatis,在写映射文件mapping.xml 中的resultMap时,出现元素类型为 “resultMap” 的内容必须匹配 “(constructor?,id*,result*,associ...原创 2019-01-08 15:58:45 · 4003 阅读 · 0 评论 -
MyBatis逆向生成配置XML及详解
配置XML示例:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd...原创 2019-01-24 16:51:04 · 3352 阅读 · 0 评论 -
通用mapper的详解
1.Mybatis逆向生成带通用mapper只需在配置文件generatorConfig.xml里面的context标签下面添加信息:如:generatorConfig.xml的配置文件里面的context标签下添加地方:添加信息 <!-- 配置通用Mapper的MBG插件相关信息 --> <plugin type="tk.mybatis.m...原创 2019-02-19 15:16:07 · 3117 阅读 · 0 评论 -
MyBatis之useGenerateKeys,selectKey,Oracle批量插入
需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。方法:在mapper中指定keyProperty属性,示例如下:Xml代码<insertid="insertAndGetId"useGeneratedKeys="true"keyProperty="userId"parameterType="com.chenzhou.myb......原创 2018-04-15 12:57:46 · 22156 阅读 · 10 评论