Mysql mybatis 语法示例
service
package com.ruoyi.goods.service;import java.util.List;
import com.ruoyi.goods.domain.GoodsProducts;/*** 商品Service接口* * @author ruoyi* @date 2023-08-27*/
public interface IGoodsProductsService
{/*** 查询商品* * @param ProductID 商品主键* @return 商品*/public GoodsProducts selectGoodsProductsByProductID(Long ProductID);/*** 查询商品列表* * @param goodsProducts 商品* @return 商品集合*/public List<GoodsProducts> selectGoodsProductsList(GoodsProducts goodsProducts);/*** 新增商品* * @param goodsProducts 商品* @return 结果*/public int insertGoodsProducts(GoodsProducts goodsProducts);/*** 修改商品* * @param goodsProducts 商品* @return 结果*/public int updateGoodsProducts(GoodsProducts goodsProducts);/*** 批量删除商品* * @param ProductIDs 需要删除的商品主键集合* @return 结果*/public int deleteGoodsProductsByProductIDs(Long[] ProductIDs);/*** 删除商品信息* * @param ProductID 商品主键* @return 结果*/public int deleteGoodsProductsByProductID(Long ProductID);
}
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">
<mapper namespace="com.ruoyi.goods.mapper.GoodsProductsMapper"><resultMap type="GoodsProducts" id="GoodsProductsResult"><result property="ProductID" column="ProductID" /><result property="Name" column="Name" /><result property="Price" column="Price" /><result property="Description" column="Description" /><result property="Category" column="Category" /><result property="StockQuantity" column="StockQuantity" /></resultMap><sql id="selectGoodsProductsVo">select ProductID, Name, Price, Description, Category, StockQuantity from goods_products</sql><select id="selectGoodsProductsList" parameterType="GoodsProducts" resultMap="GoodsProductsResult"><include refid="selectGoodsProductsVo"/><where><if test="Name != null and Name != ''"> and Name like concat('%', #{Name}, '%')</if><if test="Price != null "> and Price = #{Price}</if><if test="Description != null and Description != ''"> and Description = #{Description}</if><if test="Category != null and Category != ''"> and Category = #{Category}</if><if test="StockQuantity != null "> and StockQuantity = #{StockQuantity}</if></where></select><select id="selectGoodsProductsByProductID" parameterType="Long" resultMap="GoodsProductsResult"><include refid="selectGoodsProductsVo"/>where ProductID = #{ProductID}</select><insert id="insertGoodsProducts" parameterType="GoodsProducts" useGeneratedKeys="true" keyProperty="ProductID">insert into goods_products<trim prefix="(" suffix=")" suffixOverrides=","><if test="Name != null and Name != ''">Name,</if><if test="Price != null">Price,</if><if test="Description != null">Description,</if><if test="Category != null">Category,</if><if test="StockQuantity != null">StockQuantity,</if></trim><trim prefix="values (" suffix=")" suffixOverrides=","><if test="Name != null and Name != ''">#{Name},</if><if test="Price != null">#{Price},</if><if test="Description != null">#{Description},</if><if test="Category != null">#{Category},</if><if test="StockQuantity != null">#{StockQuantity},</if></trim></insert><update id="updateGoodsProducts" parameterType="GoodsProducts">update goods_products<trim prefix="SET" suffixOverrides=","><if test="Name != null and Name != ''">Name = #{Name},</if><if test="Price != null">Price = #{Price},</if><if test="Description != null">Description = #{Description},</if><if test="Category != null">Category = #{Category},</if><if test="StockQuantity != null">StockQuantity = #{StockQuantity},</if></trim>where ProductID = #{ProductID}</update><delete id="deleteGoodsProductsByProductID" parameterType="Long">delete from goods_products where ProductID = #{ProductID}</delete><delete id="deleteGoodsProductsByProductIDs" parameterType="String">delete from goods_products where ProductID in <foreach item="ProductID" collection="array" open="(" separator="," close=")">#{ProductID}</foreach></delete>
</mapper>
相关文章:
Mysql mybatis 语法示例
service package com.ruoyi.goods.service;import java.util.List; import com.ruoyi.goods.domain.GoodsProducts;/*** 商品Service接口* * author ruoyi* date 2023-08-27*/ public interface IGoodsProductsService {/*** 查询商品* * param ProductID 商品主键* return 商…...
第77讲:二进制方式搭建MySQL数据库5.7版本以及错误日志管理
二进制方式搭建MySQL数据库5.7版本 前面是使用的yum的方式安装的MySQL数据库,在企业生产环境中大多数都用二进制方式安装。 本次使用二进制方式搭建MySQL 5.7.36版本。 1.二进制安装MySQL5.7版本 1.1.下载MySQL5.7版本的二进制文件 [root@mysql ~]# wget https://downloads.…...

R语言,table()函数实现统计每个元素出现的频数+并将最终统计频数结果转换成dataframe数据框形式
在 R中,要统计dataframe数据框中每个元素出现的频数,可以使用table()函数。以下是一个示例: 目录 一、创建数据 二、统计第一列每个元素出现的频数 三、统计第二列每个元素出现的频数 四、将频数结果转换为数据框,并改列名 一…...

微信小程序uniapp记住密码
记住密码功能 在请求登录接口成功后,我们需要判断用户是否勾选记住密码,如果是,则将记住密码状态、账号信息存入本地。 下次登录时,获取本地的记住密码状态,如果为true则获取本地存储的账号信息,将信息回填…...

喜报!Coremail荣获2023信创“大比武”优秀生态融合奖
近期,2023信创“大比武”金融业务创新应用赛道(简称金融赛道)活动正式落下帷幕。经过赛程的层层考核,中泰证券股份有限公司(简称“中泰证券”)与Coremail联合组成的“中泰证券CACTER邮件安全保卫队”最终在…...

知识库SEO:提升网站内容质量与搜索引擎排名的策略
随着搜索引擎算法的不断更新和优化,单纯依靠关键词堆砌和外部链接的时代已经过去。现在的SEO(搜索引擎优化)已经转向了以提供高质量、有价值内容为核心的阶段。知识库SEO便是这个新阶段的重要策略之一。 | 一、知识库SEO的概念与意义 1.定义…...
GPIO复用时5个调试接口引脚要注意
一、JTAG引脚作为GPIO使用要注意 例如PA15引脚,它默认时JTDI引脚,但是可以复用为SPI的NSS片选信号。在初始化时,需要先开启AFIO时钟,再关闭JTAG功能,否则GPIO功能仍然不起作用。初始化代码如下: stm32f10…...
华为云CodeArts Check常见问答汇总
1.【Check】如何查看代码检查的历史记录呢? 答:当前支持查看代码检查日志的历史记录,具体操作步骤: 1、进入代码检查页面,在任务列表中,单击任务名称。 2、进入“代码检查详情”页面,选择“…...

linux 应用开发笔记---【信号:基础】
1.基本概念 信号是发生事件时对进程的通知机制,也可以称为软件中断 信号的目的是用来通信的 1.硬件发生异常,将错误信息通知给内核,然后内核将相关的信号给相关的进程 2.在终端输入特殊字符产生特殊信号 3.进程调用kill()将任意信号发送…...
区块链:改变世界的技术
一、引言 区块链,这个曾经看似神秘且遥不可及的词语,如今已经深入人心,成为我们生活的一部分。它以其独特的去中心化、分布式、不可篡改的特性,正在改变我们的生活方式,甚至改变我们的思维方式。本文将深入浅出地解释…...

防御升级!SMC2助力企业高效应对邮箱安全挑战
根据Coremail邮件安全人工智能实验室(以下简称AI实验室)的监测数据显示,2023年Q3全国企业级用户遭受无差别的暴力破解攻击次数虽相比2022年同期有所下降,但仍高达 24.2 亿次,且暴力破解攻击次数有明显回升趋势。 面对正…...

19.(vue3.x+vite)v-if和v-for哪个优先级更高
前端技术社区总目录(订阅之前请先查看该博客) v-if和v-for哪个优先级更高 (1)实践中不应该把v-for和v-if放一起,可以包一层template (2)在vue2中,v-for的优先级是高于v-if (3)在vue3中,v-for的优先级是低于v-if 组件代码 <template><div><!--包一…...

12. IO
1.File类 • File 类代表与平台无关的文件和目录。 • File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。 1).File的常用方法 在这里插入图片描述 2).遍历给定目录所有文件 …...

【稳定检索|投稿优惠】2024年艺术鉴赏与社会科学教育国际会议(ICAASSE 2024)
2024年艺术鉴赏与社会科学教育国际会议(ICAASSE 2024) 2024 International Conference on Art Appreciation and Social Science Education(ICAASSE) 一、【会议简介】 2024年艺术鉴赏与社会科学教育国际会议(ICAASSE 2024),这场学术盛宴,将于2024年2月1…...
leetCode算法—3.无重复字符的最长子串
1.给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 …...

STM32 寄存器配置笔记——USART DMA接收
一、简介 本文主要介绍STM32如何配合USART的IDLE中断实现USART DMA接收不定长的数据。其中使用的接收缓存还是延用前面博客写的乒乓缓存。使用DMA USART接收来替代中断方式或轮询方式的接收主要是为了提高代码的运行效率,中断方式的接收,每接收一个字节便…...

(基础篇)通过node增删改查连接mysql数据库
一定要会最基础的sql建表一定要会最基础的sql建表一定要会最基础的sql建表 首先说一下准备工作 一、准备工具 1.mysql数据库Navicat可视化工具(数据库表单已经建好) 我这里用的小皮工具直接开启的本地mysql 2.vscode (不用说基本上都有) 3.node.js …...

做为一个产品经理带你详细了解--动态面板的使用
📚📚 🏅我是bing人,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《Axure》。🎯🎯 🚀无论你是编程小白,还是有一…...

严世芸龟法养生经
文章目录 严世芸理念荤素搭配,不偏嗜动静结合心平气和 龟息法 严世芸 严世芸,出生于1940年,现任上海中医药大学的主任医师,教授。他父亲是近代上海有名的中医,他又是著名医家张伯臾的亲传弟子。 从小就在父亲诊室里长…...

基于OHTPPS实现网站HTTPS访问
前言 笔者近期为网站配置HTTPS的域名,查找了大量方案,最近寻得一个不错的解决方式,通过OHTTPS获取免费的证书并部署到阿里云服务器上。 步骤 到OHTTPS官网注册账号 官方地址如下,读者可以先行到官网注册一下账号,笔…...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...

Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...

LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...

【技巧】dify前端源代码修改第一弹-增加tab页
回到目录 【技巧】dify前端源代码修改第一弹-增加tab页 尝试修改dify的前端源代码,在知识库增加一个tab页"HELLO WORLD",完成后的效果如下 [gif01] 1. 前端代码进入调试模式 参考 【部署】win10的wsl环境下启动dify的web前端服务 启动调试…...
基于 HTTP 的单向流式通信协议SSE详解
SSE(Server-Sent Events)详解 🧠 什么是 SSE? SSE(Server-Sent Events) 是 HTML5 标准中定义的一种通信机制,它允许服务器主动将事件推送给客户端(浏览器)。与传统的 H…...
Qt学习及使用_第1部分_认识Qt---Qt开发基本流程
前言 学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面. 参考书:<Qt 6 C开发指南>(以下称"本书") 标识说明:概念用粗体倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字), 本书原话内容用深蓝色标识,比较重要的内容用加粗倾…...

【QT】qtdesigner中将控件提升为自定义控件后,css设置样式不生效(已解决,图文详情)
目录 0.背景 1.解决思路 2.详细代码 0.背景 实际项目中遇到的问题,描述如下: 我在qtdesigner用界面拖了一个QTableView控件,object name为【tableView_electrode】,然后【提升为】了自定义的类【Steer_Electrode_Table】&…...