javaee之通用mapper

news2024/11/20 20:39:50

通用mapper可以帮我们写sql语句

我们需要引入依赖是

通用mapper的核心依赖

 

 它本身就依赖一个jpa的依赖,通用mapper的整体依赖就包含了通用mapper的核心依赖

 下面说一下通用mapper里面的常见注解

@KeySql的用法

 

 

 tk.mybatis.mapper.common.Mapper

这个是通用Mapper的一个基础类,继承这个类,传入我们需要的一个实体类对象,就可以在这个类里面轻松实现对表的数据操作,而无需写任何多余的sql语句,注意这个类是一个接口

select(传入一个实体类)方法的使用->返回一个关于这个实体类的集合

 它是根据实体类对象的有参作为参数,然后来进行查询的

通用mapper的数据库连接

在ly-item-service模块中,在resources下面的application.yml文件里面

我们去配置了连接数据库的信息

 简单使用Example类

 上面就是传入了可以构建sql语句的对象,内部是与数据表关联的类

example.createCriteria().andLike("name","%" + key + "%").orEqualTo("letter",key);这个语句又代表什么意思

 上面就类似于条件拼接

看一个下面的情况,为什么还可以接收Page这个对象,这个是个什么?

 

 

这个Page是PageHelper给我们提供的一个对象

 

其实它就是一个List接口集合的子类,只不过内部给我们封装了一些分页信息 

内部有一个方法可以给我们返回这个集合对象

example.setOrderByClause(orderByClause);

 也就是给我们拼接一个ORDER BY的条件

selectByExample(example);直接传入example对象,这个对象带了条件进行查询

 Page<Brand> pageInfo = (Page<Brand>) brandMapper.selectByExample(example);

这个语句如下

 

 这里说一下上面返回的Page对象,其实他就是一个LIst对象,只是它带了一些分页的信息在里面

this.brandMapper.insertSelective(brand);

其实就是插入的语法,里面是包含的哪一个表,一个实体对象进来其实就是一个数据表进来嘛

 这个就是Brand实体类对应的表

selectByIdList(List<Long> ids)通过集合id参数,帮我们查询出一组对象

想要使用这个方法,我们的通用Mapper必须继承SlectByIddListMapper这个类

selectByPrimaryKey()

 

deleteByExample(example) 

 

实际的sql语句就像下面这样 

 

delete(需要删除的实体类对象) 

 

内部需要传入一个对象,同时带上条件 

它的sql语句可能就是下面这样

 

this.spuMapper.updateByPrimaryKeySelective(spuBo); 

 

上面的意思也就是说,我们如果有些字段设置为了null,就不会更新到数据库里面,依旧是使用默认值

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1058945.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c#设计模式-行为型模式 之 模板方法模式

&#x1f680;简介 模板方法模式定义了一个操作中的算法的骨架&#xff0c;而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下&#xff0c;重新定义算法中的某些步骤。通常用于应对在开发中设计一个系统时知道了算法所需的关键步骤&#xff0c;而且确定…

用 Pycharm 远程连接 Linux 服务器——超详细

用 Pycharm 远程连接 Linux 服务器——超详细 一、介绍二、要求三、服务器配置四、Pycharm远程连接Linux服务器 实战 一、介绍 本人是做NLP的&#xff0c;pycharm写的项目&#xff0c;数据集很大&#xff0c;在自己电脑上运行很慢&#xff0c;但是放到服务器上跑就很快。下面详…

FileZila 实现wind10与Linux系统文件互传

【FileZila】实现windows与Linux系统文件互传

哨兵(Sentinel-1、2)数据下载

哨兵&#xff08;Sentinel-1、2&#xff09;数据下载 一、登陆欧空局网站 二、检索 先下载2号为光学数据 分为S2A和S2B&#xff0c;产品种类有1C和2A&#xff0c;区别就是2A是做好大气校正的影像&#xff0c;当然数量也会少一些&#xff0c;云量检索条件中记得要按格式&#x…

Covert Communication隐蔽通信论文复现

文章目录 前言Covert Communications: A Comprehensive Surveyabstract简介隐蔽通信的概念和机制隐蔽通信的简要历史经典的Alice-Bob-Willie Model与其他安全技术的区别 一、Limits of Reliable Communication with Low Probability of Detection on AWGN Channels摘要introduc…

STM32复习笔记(三):串口

目录 Preface&#xff1a; &#xff08;一&#xff09;CUBEMX配置串口 &#xff08;二&#xff09;轮询方式 &#xff08;三&#xff09;中断 DMA Preface&#xff1a; 串口通信协议简单&#xff0c;因此被广泛应用&#xff1b;串口有UART&#xff08;Universal Asynchron…

谷歌注册手机号码无法验证

1. 打开设置,在语言中点击添加语言搜索English并添加 2. 点击添加后把首选语言换成英语 3. 然后重启浏览器&#xff0c;这时候浏览器就是英文了&#xff0c;最后打开注册页面就能接收短信了

微服务技术栈-认识微服务和第一个微服务Demo

文章目录 前言一、认识微服务二、微服务技术栈三、Eureka注册中心四、微服务DEMO1、搭建eureka-server2、服务注册和服务发现 总结 前言 随着业务的不断复杂&#xff0c;对服务的要求也越来越高&#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。 本章就从微服…

vuejs中缓存组件状态-keepAlive

前言 在 vuejs中&#xff0c;我们经常需要缓存一些组件的状态&#xff0c;比如用户登录后&#xff0c;切换到其他页面&#xff0c;再切换回来&#xff0c;需要保留之前的登录状态&#xff0c;而不是重新登录。 或者在切换不同组件的时候&#xff0c;需要保留之前的组件状态&…

[Linux]线程同步

[Linux]线程同步 文章目录 [Linux]线程同步线程同步线程饥饿问题概念 线程同步控制--条件变量pthread_cond_init函数pthread_cond_destroy函数pthread_cond_wait函数pthread_cond_signal函数pthread_cond_broadcast函数条件变量相关函数的使用示例生产者消费者模型基于Blocking…

基于SpringBoot的体育馆场地赛事预约管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

【生命周期】

生命周期 1 引出生命周期2 分析生命周期3 总结生命周期 1 引出生命周期 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta …

互联网Java工程师面试题·MyBatis 篇·第二弹

目录 16、Xml 映射文件中&#xff0c;除了常见的 select|insert|updae|delete标签之外&#xff0c;还有哪些标签&#xff1f; 17、Mybatis 的 Xml 映射文件中&#xff0c;不同的 Xml 映射文件&#xff0c;id 是否可以重复&#xff1f; 18、为什么说 Mybatis 是半自动 ORM 映射…

证书显示未受信任,生成的证书过期

此时若是导入证书后&#xff0c;证书显示未受信任&#xff0c;则说明我们缺失最新的AppleWWDRCA证书 解决方案&#xff1a; 重新下载AppleWWDRCA并安装。即下载最新的AppleWWDRCA证书&#xff0c;双击安装到“登录”项的钥匙串下&#xff1b;然后再安装你的开发证书或者发布证书…

云原生微服务 第六章 Spring Cloud Netflix Eureka集成远程调用、负载均衡组件OpenFeign

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 文章目录 系列文章目录前言1、OpenFeign的实现…

嵌入式Linux应用开发-驱动大全-第一章同步与互斥②

嵌入式Linux应用开发-驱动大全-第一章同步与互斥② 第一章 同步与互斥②1.3 原子操作的实现原理与使用1.3.1 原子变量的内核操作函数1.3.2 原子变量的内核实现1.3.2.1 ATOMIC_OP在 UP系统中的实现1.3.2.2 ATOMIC_OP在 SMP系统中的实现 1.3.3 原子变量使用案例1.3.4 原子位介绍1…

js正则的前瞻释义

/^(?a)aa$/可以匹配aa,但不能匹配aaa,因为前瞻不消耗字符串 检验密码强度的正则 /^(?.*[a-z])(?.*[A-Z])(?.*\d)(?.*[$,_.])[a-zA-Z\d$,_.]{6,12}$/var reg/^(?.*[a-z])(?.*[A-Z])(?.*\d)(?.*[$,_.])[a-zA-Z\d$,_.]{6,12}$/var res reg.test(abcdefg.A6)console.log(…

SpringBoot中使用Servlet和Filter

为什么要把Servlet和Filter写在一起,因为使用方式很相似 两种方式 第一种,使用Servlet和Filter 使用Servlet 继承HttpServlet 注册Servlet 使用Filter 1.自定义过滤器 2.注册过滤器 这里注意一点 使用/**无效 至少我这2.4.5版本是这样 过滤所有请求用/* 那么其实还有…

CodeCraft-21 and Codeforces Round 711 (Div. 2)A-F

1.Problem - A - Codeforces &#xff08;1&#xff09;题意 求一个大于等于n的整数x&#xff0c;满足gcd(x,sum(dig(x)) > 1&#xff0c;dig表示x的各个数位。 &#xff08;2&#xff09;思路 考虑最差是满足gcd(x,sum(dig(x)) 2,因此不会枚举很多&#xff0c;直接暴力枚…

【Diffusion】DDPM - (2)公式推导 之 前向扩散

1、加噪过程 1、将 图像 x 0 x_0 x0​ 像素值映射到 [-1, 1] 之间 x 255 2 − 1 , w h e r e    x 为图像中的像素值 \quad \frac{x}{255} \times 2-1, \quad where \; x 为图像中的像素值 255x​2−1,wherex为图像中的像素值 \quad 2、生成一张尺寸相同的噪声图片,像…