通用mapper定义你自己的SQL语句

Java通用Mapper自定义方法 首先,我们需要定义一个自定义的通用 Mapper 接口,继承自通用 Mapper 的基类或接口。这样,我们既能使用通用 Mapper 的基础方法,又能扩展自定义方法。// 自定义方法将在这里声明在通用 Mapper 提供的基础功能上,我们常常需要添加一些自定义的通用方法来满足特定需求。例如,批量插入、复杂条件查询等操作。通过继承通用 Mapper 并添加自定义方法,可以实现这些功能。// 批量插入// 根据自定义条件查询。 阅读详情

通用mapper没你想要的接口怎么办?

首先你定义好实体类。
让通用mapper实现基础的sql先。然后:

在这里插入图片描述上面的方法可以改为有参数的:
在这里插入图片描述还有一点注意的是,如果是自定义的通用mapper,我们sql语句中的数据字段名后面还要起一个实体类对应的属性名才行(否则通用mapper映射不到):在这里插入图片描述

package com.qingcheng.dao;

import com.qingcheng.pojo.order.CategoryReport;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper;

import java.time.LocalDate;
import java.util.List;

/**
 * @author QLBF
 * @version 1.0
 * @date 2021/4/22 10:07
 */
public interface CategoryReportMapper extends Mapper<CategoryReport> {

    @Select("SELECT category_id1 categoryId1,category_id2 categoryId2,category_id3 categoryId3,DATE_FORMAT(o.`pay_time`,'%Y‐%m‐%d' ) countDate," +
            "SUM(oi.num) num,SUM(oi.pay_money) money FROM tb_order_item oi, tb_order o WHERE oi.`order_id`=o.`id` AND o.`pay_status`='1' " +
            "AND DATE_FORMAT(o.`pay_time`,'%Y‐%m‐%d' ) =#{date} GROUP BY `category_id1`,`category_id2`,`category_id3`," +
            "DATE_FORMAT(o.`pay_time`,'%Y ‐%m‐%d' )")
    public List<CategoryReport> categoryReport(@Param("date")LocalDate date);
}


(上面那个Select你也可以根据你的sql写为Update等的)

然后就是你的service调用的问题了。

Spring Boot项目通用功能之《通用Mapper》 前言 接下来这几篇文章中我们主要说说,在我们的项目中会使用哪些通用的功能,例如:通用Mapper(mybatis框架的)、通用service和分页功能等等,这些通用功能的使用会大大降低我们的开发时间,也会让我们的代码变得更加有规范更加合理,今天这篇文章我们说说怎么使用通用mapper。 通用mapper简介 通用mapper是一个国人编写的工具jar,它可以极其方便的做单表增删改查(使用 阅读详情

相关推荐

Mybatis——通用mapper(自定义和扩展mapper)(3)

项目源代码:https://github.com/ClevelandCavaliers2016/extendedUniversalMapper.git 1、自定义: 2、扩展通用mapper: 作用:增加通用Mapper 没有提供的功能。 自定义扩展mapper接口简单实现结构: 自定义扩展mapper接替实现: (1)自定义扩展mapper接口: (2)具体实现: ...

nhp_qk的博客 4422

Mybatis-Plus 之【动态表名】

MybatisPlus【动态表名(这里介绍按天分表)】前言一、方案一(动态传参)使用方法(Mapper自定义SQL)二、方案二(DynamicTableNameInnerInterceptor插件)使用方法(插件配置+ThreadLocal+辅助类)三、方案三(DynamicTableNameInnerInterceptor插件、省略辅助类)使用方法(插件配置+ThreadLocal)总结注意在某些情况下,需要将大量数据分散到多个数据表中,这样可以提高数据库的查询效率和数据处理能力。

t194978的博客 6389

Ubuntu20.04配置PX4环境启动或编译jmavsim 出现的错误及解决办法

错误1:ant命令未找到

Iamsonice的博客 8856

在Mapper.xml中写复杂的动态SQL语句

在Mapper.xml中写复杂的动态SQL语句

小何的博客 6480

从零开始!Jupyter Notebook的安装教程(附带pip和Python的安装教程)

本篇文章创造性的以“授人以渔”的方式教大家如何安装Jupyter Notebook、pip和Python,以及对于Jupyter Notebook代码路径的基本设置。

保证安全,保证寿终正寝的博客 13万+

【测试】echo发送和接收TCP/UDP数据包|shell 发送TCP/UDP数据包

目录 通过/dev/tcp、/dev/udp shell给tcp或udp服务发送16进制报文指令 通过/dev/tcp、/dev/udp (https://blog.youkuaiyun.com/u010039418/article/details/86251470) 通过/dev/tcp、/dev/udp可以直接在shell脚本中发起tcp、udp连接,方便又高效,平时用于测试啥的还是挺方便的。 直接发送 格式 /dev/udp/ip/port 比如要向本地10001端口发送数据,可以使用 ec.

我的笔记本 1万+

Mapper SQL语句

1.choose when otherwise 相当于java里的if else <select id="List" resultType="com.mybatis.entity.User"> select * from user WHERE sex=1 <!-- 1.一旦有条件成立的when,后续的when则不会执行 2.当所有的when都不执...

Whales_w的博客 2108

STM32版CCD线性摄像头寻线寻迹小车_stm32接ccd

目前大多数的小车寻线寻迹都是用红外对管寻线,这是比较简单也比较成熟的技术方案,且成本也低。本文将介绍使用CCD线性摄像头寻线寻迹。TSL1401 线性传感器由一个 1x128 的光电二极管阵列、相关的电荷放大电路以及一个内部像素数据保功能组成。内部像素数据保功能可以为所有像素点提供同时积分的开始和停止时间。该阵列由 128 个像素组成,每个像素的感光面积为 3,524.3 平方微米。像素之间的间隔为 8μm。内部控制逻辑简化了操作,该模块需要串行输入(SI)信号和时钟信号(CLK)。

2401_87557129的博客 3229

Mybatis加载Mapper的原理以及自定义动态sql的几种思路

mybatis是目前非常流行的数据库框架。它的轻便灵活的特性使的我们更加方便的操作数据库。所以我们来扒一扒Mybatis的原理。 先扒一张百度上对mybatis结构的描述的图 百度的图 从上可以看出mysql的几个组件Configiration,MappedStatements,Mapper,xml。 先写个demo试验一下。 mybatis版本是 <depende...

FAHA的博客 3247

MODIS 遥感数据批量下载(使用Cygwin)

MODIS 遥感数据批量下载(使用Cygwin)包含Cygwin的下载教程

weixin_45913084的博客 916

【ARM Trace32(劳特巴赫) 使用介绍 10 -- Trace32 scan dump 详细介绍】

将图 1-2 中扫描单元按照扫描移位模式连接起来,就构成了扫描测试中的基本结构,这里介绍下全扫描。全扫描就是多个扫描单元相连接,上一单元的扫描输出,连接到目前单元的扫描输入,目前单元的扫描输出连接到下一单元的扫描输入,以此类推,构成一条移位寄存器链,如图1-3 所示:图 1-3 全扫描这样的扫描结构,可通过一个串行输入端,将期望的数据存入移位寄存器链并观察运行结果。

CodingCos的博客 2033

数据库SQL语句规范(Mapper.xml文件)及模板

数据库SQL语句规范(Mapper.xml文件)及模板 一.实体entity及请求对象,响应对象 实体 package com.xxx.xxx.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baom

ccpshare的博客 3973

复现论文《孤岛微电网环境下基于物理模型引导的深度强化学习VSG频率控制方法》

本文提出了一种结合物理模型与深度强化学习的孤岛微电网VSG频率控制方法。通过建立VSG小信号模型并设计可变系数控制器,将物理知识融入深度强化学习框架,解决了高维参数和机组耦合带来的控制难题。复现代码实现了三个核心组件:VSGSmallSignalModel建模VSG动态特性,VariableCoefficientController实现参数自适应调节,PhysicsGuidedDRL整合DQN算法与物理模型引导的奖励机制。该方法通过模型驱动与数据驱动的优势互补,提升了频率控制性能,其中物理模型既作为先验知识

huanghm88的专栏 127

mybatis插件 ~ 通用Mapper

mybatis,插件,通用Mapper

Java博客 2590

6.6kW的车载充电器(On-Board Charger, OBC)电路分析

图片展示了6.6kW的车载充电器(On-Board Charger, OBC)电路,其中包含双向和单向两种拓扑结构。接下来我们将深入分析每个模块的设计、原理及其优势,以帮助理解不同结构在实际应用中的选型和应用。

weixin_43199439的博客 5660

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

手打SQL语句?——来试试通用 Mapper吧

通用 Mapper是什么 在我们使用MyBatis中,我们需要写大量的SQL语句,包括最基本的一些增删改查,这些简单的SQL语句占用了大量的时间,却不得不写,这时我通用Mapper就出现了。 通用Mapper是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及Example 相关的单表操作。 Github地址 通用Mapper支持的集成 快速入门 导入依赖 创建...

Sherlockin的博客 470

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

tk.mybatis 中的通用Mapper自定义SQL语句

笔记里边好多东西都挺好的,经验加实践总结出来的。就是都没有系统的整理,至于原因吧,有很多,最重要的一点就是我有点懒。今天写个最简单的东西,现在的开发变的越来越简单了,因为有好多大牛写了好多好用的“轮子”!这种博客我本是不想写的,感觉很水。我争取以后的代码多写点技术含量高的博文。就是代码中的样子,通过外键courseId来查询表中所有相关人员的信息列表。用这个插件简单的项目根本就不用写SQL语句。tk.mybatis自定义的SQL语句有两种写法,今天主要介绍一种。自定义的SQL语句,一个连表查询的过程。

q1054261752的博客 1263

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

[java][MyBatisPlus]通用 Mapper:内置通用 Mapper,通过继承 BaseMapper 即可获得 CRUD 功能

摘要:MyBatis-Plus的BaseMapper是一个核心组件,它封装了常用的CRUD操作,通过继承该接口可大幅简化开发。开发者只需定义实体类和Mapper接口(继承BaseMapper),即可直接使用insert/delete/update/select等通用方法,无需编写基础SQL。BaseMapper能减少重复代码、提高开发效率,同时支持在Mapper接口中添加自定义方法以满足特殊需求。这种设计既保持了MyBatis的灵活性,又显著提升了开发便捷性。

一名不太专业的程序员 3381

通用Mapper的example实例使用

在最近的实习生学习中,渐渐使用到了通用Mapper,但是之前根本就没接触过。其实同效果的SQL不难,但是改成相应的example难免有些不熟悉,在这里收集一些方法的使用,前半段是从其他地方抄然后小改了一下的,后半段是我自己的实操问题。为了尊重作者我在这里注明下是优快云的Zzoujy(且不管他也是转的) 一、example实例 mybatis的逆向工程中会生成实例及实例对应的example,e...

qq_35174296的博客 1万+

通用Mapper

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

qq_43117059的博客 2574

SpringBoot整合Mybatis通用Mapper

前言 SpringBoot整合MyBatis Generator可以帮助我们快速生成实体类、接口、mapper.xml文件,可以提高开发的效率,但是每次新增表都要执行一次Generator生成相应的代码,这样重复的操作生成增删查改重复的的代码,有没有一种通用的接口,不用生成mapper.xml文件,就可以调用通用接口的方法,实现单表的增删改查操作呢,这就是tk.mybatis.mapper 支持单...

xyz 3万+

MyBatis通用Mapper

1. 创建通用接口 在通用接口中使用@InsertProvider,@UpdateProvider,@DeleteProvider,@SelectProvider注解配置增删改查的类和方法,并添加通用方法 public interface BaseMapper<T, E> { @InsertProvider(type = BaseMapperProvider.class, m...

Glory丶笨小孩 1157

通用mapper(mapper-mybatis)

通用Mapper是一个可以实现任意MyBatis通用方法的框架,项目提供了常规的增删改查操作以及Example相关的单表操作,与mybatisplus相似,对mybatis制作增强不做修改。为什么要用通用mapper?我们这里列举一下原生Mybatis的痛点1、mapper.xml文件里有大量的sql,当数据库表字段变动,配置文件就要修改2、需要自己实现sql分页,select*fromtablewhere...limit1,3。...

m0_62520968的博客 1万+

基于mybatis的通用mapper实现

基于mybatis的通用mapper实现     目前市面上开源的通用mapper有很多,比如mybatis-plus,tkmybatis等等。 可以能有人会认为这是在重复造轮子,但是经过自己的摸索探索出来的一套框架还是让自己有所收益。这套框架已经在项目中运行多年,当然功能也在不断改进中。 ...

terry2870的专栏 7908

在springboot中使用通用mapper与mybatisplus

mybatis的问题(为什么要用通用mapper和mybatisplus) 在之前使用mybatis的时候,有一个比较麻烦的地方, 就是我们所有的SQL都需要自己写,包括基础的增删改查,这个我们也得自己写,这个不是很方便,因为基础的这些语句,我们不管哪个表,都可能遇见,这样就很浪费时间和精力 别犟,我知道mybatis有逆向工程,我也在之前分享了mybatis逆向工程的使用,但是不可否认的是,mybatis有这个缺陷,逆向工程也是为了解决这个问题 本次要分享的通用mapper和mybatisplus就

未知的希望,是我不灭的信仰 3980
上一篇: 青橙删除day-05 springtask定时任务、cron表达式
下一篇: 青橙商城day -06 Echars、流量统计(UV、PV)
618GLOAL_COOK2237
博客等级 码龄6年 14粉丝 240原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值