
Mybatis
文章平均质量分 62
weihubeats
开源框架Tlog贡献者,技术大多都源于生产实践,乐于分享.公众号:小奏技术
展开
-
MybatisPlus 表名为Mysql、Postgresql关键字如何处理
比如我们有这么一张user表我们在Postgresql查询需要这样select * from "user";一般如果是Mysql我们直接对表名起别名就行@TableName("`user`)如果是Postgresql,需要添加双引号@TableName("\"user\"")添加转义符即可...原创 2021-09-23 17:36:48 · 2507 阅读 · 0 评论 -
大数据量查询大杀器之Mybatis 流式查询
流式查询在我们查询大数据量数据,而内存不够的时候,我们常常使用的做法就是分页,分页的效率往往是低下的,当然如果表有自增id主键,基于自增id主键去查询效率也还行,但这不是我们今天介绍的重点,我们今天介绍的重点是Mybatis流式查询,也就是我们在查询数据的时候查询成功后返回的结果集不是一个集合而是一个迭代器,每次从迭代器中处理查询一条结果,这样就能避免大数据导致的OOM。实战MyBatis 流式查询的核心接口是 Cursor可以看到 Cursor 继承了 Iterable接口。由Iterable知原创 2021-04-07 09:04:56 · 10935 阅读 · 1 评论 -
Postgresql使用数组及Mybatis自定义Postgresql数组类型映射
创建CREATE TABLE faviroute_book (id serial primary key,student_names TEXT[])在普通类型后面加 [] 即可插入-- 方式一 使用{}insert into student(student_names) values ('{阿离,小奏}')-- 方式二 使用 arrayinsert into student(student_names) VALUES (array['韩信','关羽','张飞'])查询sel原创 2020-06-24 08:57:43 · 5840 阅读 · 0 评论 -
Mybatis代理Mapper统一获取Mapeer执行结果及执行SQL
文章目录需求记录表结构实现SqlUtils使用需求由于数据源的切换,需要对某个Mapper进行数据监测,需要记录Mapper中所有执行方法的结果,执行SQL,参数等基本信息记录表结构create table sql_test( method text, shard integer, ck_time text, ck_total integer, pg_total integer, create_time ti原创 2021-02-06 13:41:19 · 657 阅读 · 0 评论 -
Mybatis插件开发(拦截SQL并改写SQL)
文章目录拦截器接口介绍SQL拦截改写定义拦截器接口 Interceptor添加拦截器拦截器接口介绍Mybatis 允许在以映射SQL语句执行过程中的某一点进行拦截调用。默认情况下,Mybatis允许使用插件来拦截的接口和方法有以下几个Executor(update、query、flushStatements、commit、rollback、getTransaction、clos、isClosed)ParameterHandler(getParameterObject、setParameters)原创 2021-01-25 09:02:10 · 7782 阅读 · 7 评论 -
Spring-Mybatis整合源码分析
文章目录Sprimg整合Mybatis步骤Spring中的重要接口BeanDefinitionBeanDefinitionRegistryBeanFactoryBeanFactoryPostProcessorImportBeanDefinitionRegistrarBeanPostProcessorClassPathBeanDefinitionScannerFactoryBeanSpring容器的大致启动过程Spring Mybatis整合原理Sprimg整合Mybatis步骤Mybatis整体执行流程原创 2020-12-12 21:27:59 · 1654 阅读 · 0 评论 -
MybatisPlus 实现 where id = and (a = or b = )
##实现LambdaQueryWrapper<CustomerLabelMapping> wrapper = Wrappers.lambdaQuery(); String approval = labelQuery.getApproval(); String companyName = labelQuery.getCompanyName(); String drugId = labelQuery.getDrugId(); wrap原创 2020-12-02 09:55:16 · 1185 阅读 · 0 评论 -
Mybatis源码分析(一)构建环境及总体概况
文章目录构建源码环境整体架构代码结构设计模式说明执行流程源码调试源码下载参考构建源码环境github下载最新Mybatis源码 github地址clone中输入github复制的地址,然后等待下载完成整体架构Mybatis整体架构如下MyBatis 的整体架构分为三层:基础支持层:对一些基础功能进行封装,为核心处理层提供服务核心处理层:主要负责执行SQL,并返回结果接口层:通SqlSession类提供对数据库访问能力,隐藏了后续复杂的处理逻辑代码结构Mybatis的代码结构原创 2020-10-25 21:09:55 · 498 阅读 · 1 评论 -
Java 8 LocalDate、Instant、LocalDateTime、LocalTime在mybatis中对应mysql的数据类型
java 8 提供了新的时间API比如LocalDate、Instant、LocalDateTime、LocalTime,但是在mybatis中使用对应的数据库类型应该是那些呢?在mybatis官网找了一下发现mybatis从 3.4.5 版本开始,默认支持 JSR-310(日期和时间 API)对应的类型映射为:...原创 2020-03-23 16:02:17 · 6528 阅读 · 0 评论 -
Mybatis插入数据获取自增id
应用场景:有时候我们在插入语句完成时候需要获取到插入自增的id字段,mybatis推荐如下几种方式使用 SELECT LAST_INSERT_ID();,需要注意的这种是针对mysql使用的,oracle则不适用<insert id="add" parameterType="Student"> insert into Student(name, age) values(...原创 2019-07-29 16:59:15 · 1214 阅读 · 0 评论 -
MyBatis实现模糊查询的三种方式
1.使用sql中的字符串拼接函数<mapper namespace="com.baidu.book.mapper.BookMapper"> <select id="getBook" parameterType="Book" resultType="Book"> select bookid,bookname,bookimg from原创 2018-09-20 11:49:47 · 776 阅读 · 0 评论 -
Mybatis入门(三) 动态SQL CRUD
Book类public class Book implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private String bookid; private String bookname; private double bookprice; priv...原创 2018-09-19 14:35:01 · 338 阅读 · 0 评论 -
Mybatis入门(二)一对一、一对多、多对一、多对多(详解)
配置SQL输出到日志1.导入架包如下在mybatis的配置文件中增如下代码:<configuration><!-- 显示SQL语句信息 --> <settings> <setting name="logImpl" value="STDOUT_LOGGING" /> </settings>.....原创 2018-09-18 20:40:24 · 1651 阅读 · 0 评论 -
Mybatis入门(一)
1.首先导入三个需要用到的JAVA架包2.添加mybatis配置文件 mybatis-config.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org...原创 2018-09-17 22:45:52 · 416 阅读 · 0 评论