MyBatis接口的方法上使用,定义对应的 SQL 操作
目录标题
- 一、@Mapper:
- 二、@Select、@Insert、@Update、@Delete:
- 三、@Results、@Result:
- 四、@Param:
- 五、# 和 $:
MyBatis 是一款基于 Java 的持久层框架,它通过简化数据库操作来帮助开发者构建更好的数据库访问应用。
一、@Mapper:
- 含义:用于标记一个 Mapper 接口。
用例:在 Mapper 接口上使用,告诉 MyBatis 这是一个映射器接口。
@Mapper
public interface UserMapper {User getUserById(Long id);List<User> getAllUsers();void insertUser(User user);
}
二、@Select、@Insert、@Update、@Delete:
- 含义:分别表示 SELECT、INSERT、UPDATE、DELETE 操作。
用例:在 Mapper 接口的方法上使用,定义对应的 SQL 操作。
@Mapper
public interface UserMapper {@Select("SELECT * FROM users WHERE id = #{id}")User getUserById(Long id);@Insert("INSERT INTO users(name, age) VALUES(#{name}, #{age})")void insertUser(User user);@Update("UPDATE users SET name = #{name}, age = #{age} WHERE id = #{id}")void updateUser(User user);@Delete("DELETE FROM users WHERE id = #{id}")void deleteUser(Long id);
}
三、@Results、@Result:
- 含义:用于定义结果映射规则。
用例:在 @Select 注解中使用,将查询结果映射为实体类。
@Select("SELECT * FROM users")
@Results({@Result(property = "id", column = "id"),@Result(property = "name", column = "name"),@Result(property = "age", column = "age")
})
List<User> getAllUsers();
四、@Param:
- 含义:用于给方法参数取别名,提高可读性。
用例:在方法参数前使用,指定参数名称。
@Select("SELECT * FROM users WHERE name = #{name} AND age = #{age}")
User getUserByNameAndAge(@Param("name") String name, @Param("age") int age);
五、# 和 $:
- 含义:# 表示预编译,$ 表示字符串拼接。
用例:在 SQL 语句中使用,# 将参数以预编译的形式传递,$ 将参数直接拼接到 SQL 语句中。
@Select("SELECT * FROM users WHERE id = #{id}") // # 表示预编译
User getUserById(@Param("id") Long id);@Select("SELECT * FROM users WHERE name = '${name}'") // $ 表示字符串拼接
User getUserByName(@Param("name") String name);
这些只是 MyBatis 中的一部分概念和功能,MyBatis 还提供了一些高级功能,如动态 SQL、缓存、拦截器等,以帮助开发者更灵活地操作数据库。
相关文章:
MyBatis接口的方法上使用,定义对应的 SQL 操作
目录标题 一、Mapper:二、Select、Insert、Update、Delete:三、Results、Result:四、Param:五、# 和 $: MyBatis 是一款基于 Java 的持久层框架,它通过简化数据库操作来帮助开发者构建更好的数据库访问应用…...
(20)Linux初始文件描述符
前言:本章我们介绍 O_WRONLY, O_TRUNC, O_APPEND 和 O_RDONLY。之后我们开始讲解文件描述符。 一、系统传递标记位 1、O_WRONLY C 语言在 w 模式打开文件时,文件内容是会被清空的,但是 O_WRONLY 好像并非如此? 代码演示&…...
draw.io基础操作和代码高效画图进阶
文章目录 一、基础操作1、链接2、等比例变形3、复制4、插入表格 二、在线打开三、插入—功能聚集地1、插入图片2、插入画笔3、插入布局4、导出 四、图码转换——高效画图1、通用图码转换2、流程图生成:使用mermaid语言生成图: 五、图码转换高效画图的典型…...
2024-01-04 用llama.cpp部署本地llama2-7b大模型
点击 <C 语言编程核心突破> 快速C语言入门 用llama.cpp部署本地llama2-7b大模型 前言一、下载llama.cpp以及llama2-7B模型文件二、具体调用总结 前言 要解决问题: 使用一个准工业级大模型, 进行部署, 测试, 了解基本使用方法. 想到的思路: llama.cpp, 不必依赖显卡硬件…...
HTTP打怪升级之路
新手村 上个世纪80年代末,有一天,Tim Berners-Lee正在工作,他需要与另一台计算机上的同事共享一个文件。他尝试使用电子邮件,但发现电子邮件不能发送二进制文件。Tim Berners-Lee意识到,他需要一种新的协议来共享二进制…...
axure RP9.0安装字体图标库fontawesome
字体图库地址: Font AwesomeThe internets icon library toolkit. Used by millions of designers, devs, & content creators. Open-source. Always free. Always awesome.https://fontawesome.com/v6/download进入后下载想要的版本如我是6.3 下载后得到压缩包,解压之后…...
PiflowX组件-ReadFromUpsertKafka
ReadFromUpsertKafka组件 组件说明 upsert方式从Kafka topic中读取数据。 计算引擎 flink 有界性 Unbounded 组件分组 kafka 端口 Inport:默认端口 outport:默认端口 组件属性 名称展示名称默认值允许值是否必填描述例子kafka_hostKAFKA_HO…...
keil 5 ARM CC编译错误和警告解释大全(3)序列号2000-3000
2001年:已声明虚拟参数,但从未使用过 2002年:虚拟参数重新定义为do变量 2003:无法优化:常量/表达式传递给可能修改的变量 2004:重新维度的数组作为参数传递 2005:重维度数组等价 2006&…...
CentOS 7 实战指南:文件或目录的权限操作命令详解
前言 这篇文章详细介绍了文件和目录的常用权限操作命令,并提供了全面的技术解析。通过本文,你将学习如何使用 chmod 和 chown 命令来管理文件和目录的权限,控制用户和用户组的访问权限。无论你是初学者还是有经验的系统管理员,这…...
我的第一个前端项目,vue项目从零开始创建和运行
入门前端,从基础做起,从零开始新建项目 背景:VUE脚手架项目是一个“单页面”应用,即整个项目中只有1个网页! 在VUE脚手架项目中,主要是设计各个“视图组件”,它们都是整个网页中某个部分&…...
【OJ】C++,Java,Python,Go,Rust
for循环语法 // cpp// java// python for i in range(集合): for i, val in enumerate(集合): for v1,v2,v3,... in zip(集合1,集合2,集合3,...):Pair // cpp pair<int, string> first second // java Pair<Integer, String> first() new Pair<>(firstVal…...
Flink 任务指标监控
目录 状态监控指标 JobManager 指标 TaskManager 指标 Job 指标 资源监控指标 数据流监控指标 任务监控指标 网络监控指标 容错监控指标 数据源监控指标 数据存储监控指标 当使用 Apache Flink 进行流处理任务时,可以根据不同的监控需求,监控…...
Go语言程序设计-第7章--接口
Go语言程序设计-第7章–接口 接口类型是对其他类型行为的概括与抽象。 Go 语言的接口的独特之处在于它是隐式实现。对于一个具体的类型,无须声明它实现了哪些接口,只要提供接口所必须实现的方法即可。 7.1 接口即约定 7.2 接口类型 package iotype …...
性能优化-OpenMP基础教程(二)
本文主要介绍OpenMP并行编程技术,编程模型、指令和函数的介绍、以及OpenMP实战的几个例子。希望给OpenMP并行编程者提供指导。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC&am…...
让电脑变得更聪明——用python实现五子棋游戏
作为经典的棋类游戏,五子棋深受大众喜爱,但如果仅实现人与人的博弈,那程序很简单,如果要实现人机对战,教会计算机如何战胜人类,那就不是十分容易的事了。本文我们先从简单入手,完成五子棋游戏的…...
C#-接口
接口 (interface) 定义了一个可由类和结构实现的协定。接口可以包含方法、属性、事件和索引器。接口不提供它所定义的成员的实现 — 它仅指定实现该接口的类或结构必须提供的成员。 接口可支持多重继承。在下面的示例中,接口 IComboBox 同时从 ITextBox 和 IListBox 继承。 i…...
ASP.NET可视化流程设计器源码
源码介绍: ASP.NET可视化流程设计器源码已应用于众多大型企事业单位。拥有全浏览器兼容的可视化流程设计器、表单设计器、基于角色的权限管理等系统开发必须功能,大大为您节省开发时间,是您开发OA.CRM、HR等企事业各种应用管理系统和工作流系统的最佳基…...
景联文科技GPT教育题库:AI教育大模型的强大数据引擎
GPT-4发布后,美国奥数队总教练、卡耐基梅隆大学数学系教授罗博认为,这个几乎是用“刷题”方式喂大的AI教育大模型的到来,意味着人类的刷题时代即将退出历史舞台。 未来教育将更加注重学生的个性化需求和多元化发展,借助GPT和AI教育…...
PHP进阶-实现网站的QQ授权登录
授权登录是站点开发常见的应用场景,通过社交媒体一键授权可以跳过注册站点账户的繁琐操作。本文将讲解如何用PHP实现QQ授权登录。首先,我们需要申请QQ互联开发者账号获得APPID和密钥;接着,我们下载QQ官方SDK:PHP SDK v…...
字节跳动基础架构SRE-Copilot获得2023 CCF国际AIOps挑战赛冠军
近日,2023 CCF国际AIOps挑战赛决赛暨“大模型时代的AIOps”研讨会在北京成功举办,活动吸引了来自互联网、运营商、科研院所、高校、软硬件厂商等领域多名专家学者参与,为智能运维的前沿学术研究、落地生产实践打开了新思路。决赛中࿰…...
停止健身房“赎罪”:把动作揉进日常,比发狠管用
健身房的惩罚 vs 生活中的律动 专栏:清醒日常 | 重新认识这副皮囊 (02) 老哥,今天咱们聊聊一个挺普遍,但很少有人愿意戳破的现象。 你有没有过这种经历:白天在公司极其憋屈地坐了十个小时,改了八遍PPT,晚…...
除了浏览器点一点,Oracle 19c EM Express还能这么用?几个提升DBA效率的隐藏技巧
Oracle 19c EM Express高阶应用:解锁DBA效率提升的五大隐藏技巧 当你已经能够熟练地通过浏览器访问Oracle 19c EM Express时,是否思考过这个轻量级管理工具还能为你带来哪些惊喜?本文将带你超越基础操作,探索那些被大多数DBA忽略的…...
避坑指南:在Windows 11上用Docker Compose一键部署Casdoor(含MySQL和持久化配置)
Windows 11容器化部署Casdoor全攻略:告别环境配置噩梦 "明明按照文档一步步操作,为什么我的Casdoor就是跑不起来?"这可能是许多Windows开发者初次接触开源身份认证系统时的共同困惑。传统部署方式需要手动配置Go、Node.js、Yarn、…...
用UE5动画蒙太奇制作连招系统:三连击案例+特效通知完整流程
UE5连招系统深度实战:从动画蒙太奇到特效联动的全流程设计 在动作角色扮演游戏(ARPG)开发中,连招系统是战斗体验的核心支柱。想象一下这样的场景:玩家按下攻击键触发第一段斩击,在收招前0.2秒内再次输入&a…...
避开这些坑!Anthropic Computer Use在Mac上的安全使用指南(含Streamlit界面优化技巧)
避开这些坑!Anthropic Computer Use在Mac上的安全使用指南(含Streamlit界面优化技巧) 在Mac上探索AI工具的边界时,Anthropic Computer Use无疑是一把双刃剑。它既能让你通过自然语言指令操控整个系统,也可能因权限过高…...
深入拆解AM信号模拟:从AD9959 DDS配置到AD835乘法器调制的硬件设计细节
深入拆解AM信号模拟:从AD9959 DDS配置到AD835乘法器调制的硬件设计细节 在射频电路设计中,AM信号模拟系统是检验工程师硬件功底的最佳试金石。全国大学生电子设计大赛C题的经典命题,不仅考察对调幅原理的理解,更要求选手在30-40MH…...
颠覆传统绘图:3个让技术文档颜值飙升的Mermaid技巧
颠覆传统绘图:3个让技术文档颜值飙升的Mermaid技巧 【免费下载链接】mermaid mermaid-js/mermaid: 是一个用于生成图表和流程图的 Markdown 渲染器,支持多种图表类型和丰富的样式。适合对 Markdown、图表和流程图以及想要使用 Markdown 绘制图表和流程图…...
从废弃电视盒到全能家庭服务器:Amlogic S9xxx Armbian的5种创意改造玩法
从废弃电视盒到全能家庭服务器:Amlogic S9xxx Armbian的5种创意改造玩法 【免费下载链接】amlogic-s9xxx-armbian amlogic-s9xxx-armbian: 该项目提供了为Amlogic、Rockchip和Allwinner盒子构建的Armbian系统镜像,支持多种设备,允许用户将安卓…...
Pixel Dream Workshop详细步骤:日志系统集成与渲染异常诊断方法
Pixel Dream Workshop详细步骤:日志系统集成与渲染异常诊断方法 1. 像素幻梦创意工坊简介 Pixel Dream Workshop(像素幻梦创意工坊)是一款基于FLUX.1-dev扩散模型的下一代像素艺术生成工具。它采用明亮的16-bit像素风格界面设计,…...
别再踩坑了!Windows 10下Mamba-SSM 2.2.2 + CUDA 12.4保姆级安装指南(附已修复依赖包)
Windows 10下Mamba-SSM 2.2.2与CUDA 12.4终极配置指南 在深度学习领域,Mamba-SSM因其高效的状态空间模型架构而备受关注。然而,对于Windows用户而言,配置一个可用的Mamba-SSM环境往往是一场噩梦。本文将带你一步步避开所有陷阱,完…...
