JavaWeb——Mybatis

 

6. Mybatis

  1. MyBatis是一款优秀的持久层框架,用于简化JDBC的开发

6.1. Mybatis入门

6.1.1. 入门程序

6.1.2. JDBC

6.1.3. 数据库连接池

6.1.4. Lombok

6.2. Mybatis基础操作

6.2.1. 删除
6.2.1.1. 根据主键删除

6.2.1.2. 预编译SQL

#{id}在编译过程中会替换成?

6.2.1.3. SQL注入

6.2.1.4. 参数占位符

6.2.2. 新增

6.2.2.1. 主键返回

6.2.3. 更新

6.2.4. 查询
6.2.4.1. 根据id查询

6.2.4.2. 数据封装
6.2.4.2.1. 存在问题

6.2.4.2.2. 解决方案
  1. 给字段起别名,让别名与实体类的属性名保持一致
  2. 通过@Results和@Result注解手动映射封装
  3. 开启Mybatis的驼峰命名自动映射开关(推荐

6.2.4.3. 条件查询

6.2.4.4. 字符串拼接函数concat

6.2.4.5. 参数名说明

6.3. XML映射文件

6.3.1. 规范

6.3.2. Mybatis插件

6.3.3. 注解配置/XML文件配置
  1. 注解,主要是来完成一些简单的增删改查的功能。
  2. XML文件,可以实现更复杂的SQL功能

6.4. 动态SQL

  1. 随着用户的输入或外部条件的变化而变化的SQL语句,叫动态SQL
6.4.1. <if><where><set>

<set>:动态的在行首插入SET关键字,并会删除额外的逗号,在update语句中

6.4.2. <foreach>

6.4.3. <sql><include>

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

零碎04 MybatisPlus自定义模版生成代码

目录 背景 动手开干 需要的依赖包&#xff0c;需要注意mybatis-plus-generator的3.5版本是没有兼容历史版本的。 定义一个CodeGenerator类&#xff0c;负责生成代码和配置属性 Entity模版 背景 MybatisPlus代码生成使用默认的velocity模版解决不了定制化的需求&#xff0…

tomcat 后台部署 war 包 getshell

1. tomcat 后台部署 war 包 getshell 首先进入该漏洞的文件目录 使用docker启动靶场环境 查看端口的开放情况 访问靶场&#xff1a;192.168.187.135:8080 访问靶机地址 http://192.168.187.135:8080/manager/html Tomcat 默认页面登录管理就在 manager/html 下&#xff0c…

MongoDB进阶篇-索引(索引概述、索引的类型、索引相关操作、索引的使用)

文章目录 1. 索引概述2. 索引的类型2.1 单字段索引2.2 复合索引2.3 其他索引2.3.1 地理空间索引&#xff08;Geospatial Index&#xff09;2.3.2 文本索引&#xff08;Text Indexes&#xff09;2.3.3 哈希索引&#xff08;Hashed Indexes&#xff09; 3. 索引相关操作3.1 查看索…

如何给 Apache 新站点目录配置 SELinux ?

在 web 服务器管理领域&#xff0c;确保服务器环境的安全性至关重要。SELinux (Security-Enhanced Linux) 是保护 Linux 服务器最有效的工具之一&#xff0c;它是一种强制访问控制 (MAC mandatory access control) 安全机制。当使用最流行的 web 服务器 Apache 提供 web 内容时…

Elasticsearch 开放推理 API 增加了对 IBM watsonx.ai Slate 嵌入模型的支持

作者&#xff1a;来自 Elastic Saikat Sarkar 使用 Elasticsearch 向量数据库构建搜索 AI 体验时如何使用 IBM watsonx™ Slate 文本嵌入。 Elastic 很高兴地宣布&#xff0c;通过集成 IBM watsonx™ Slate 嵌入模型&#xff0c;我们的开放推理 API 功能得以扩展&#xff0c;这…

【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;案例背景&#x1f4af;逻辑运算符的优先级与短路求值运算符优先级的概念短路求值的概念 &#x1f4af;分析案例代码的执行过程第一步&#xff1a;执行 && 运算第二步&#…

2024年11月21日Github流行趋势

项目名称&#xff1a;twenty 项目维护者&#xff1a;charlesBochet, lucasbordeau, Weiko, FelixMalfait, bosiraphael项目介绍&#xff1a;正在构建一个由社区支持的现代化Salesforce替代品。项目star数&#xff1a;21,798项目fork数&#xff1a;2,347 项目名称&#xff1a;p…

【算法】计算程序执行时间(C/C++)

引言 我们在写算法时要考虑到算法的执行效率&#xff0c;有的题目规定了时间限制&#xff0c;我们需要在这个时间之内去解决问题。如果我们需要比对算法的好坏&#xff0c;就需要输出这个程序运行了多长时间。 在C或C中计算程序执行时间&#xff0c;可以使用多种方法&#xf…

【题解】—— LeetCode一周小结46

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 【题解】—— 每日一道题目栏 上接&#xff1a;【题解】—— LeetCode一周小结45 11.切棍子的最小成本 题目链接&#xff1a;1547. 切棍子的最…

PH热榜 | 2024-11-22

DevNow 是一个精简的开源技术博客项目模版&#xff0c;支持 Vercel 一键部署&#xff0c;支持评论、搜索等功能&#xff0c;欢迎大家体验。 在线预览 1. Lovable 标语&#xff1a;全球首位全栈人工智能工程师 介绍&#xff1a;GPT工程师已在140多个国家拥有超过5万用户&#…

时序论文23|ICML24谷歌开源零样本时序大模型TimesFM

论文标题&#xff1a;A DECODER - ONLY FOUNDATION MODEL FOR TIME - SERIES FORECASTING 论文链接&#xff1a;https://arxiv.org/abs/2310.10688 论文链接&#xff1a;https://github.com/google-research/timesfm 前言 谷歌这篇时间序列大模型很早之前就在关注&#xff…

【UCIE协议系列-1】

UCIE协议系列-1 1 UCIE背景1.1 UCIE产生背景1.2 UCIE主要特性 2 UCIE分层协议2.1 Protocol 层2.1.1 Mode VS protocal2.1.2 PCIe 6.02.1.2.1 Raw Mode for PCIe 6.02.1.2.2 Flit Mode: Standard 256B Flit for PCIe 6.0 2.1.3 CXL3.0 256B Flit Mode2.1.3.1 Raw Mode for CXL 2…

智能安全配电装置在高校实验室中的应用

​ 摘要&#xff1a;高校实验室是科研人员进行科学研究和实验的场所&#xff0c;通常会涉及到大量的仪器设备和电气设备。电气设备的使用不当或者维护不周可能会引发火灾事故。本文将以一起实验室电气火灾事故为例&#xff0c;对事故原因、危害程度以及防范措施进行分析和总结…

ESP8266 STA模式TCP客户端 电脑手机网络调试助手

1.STA模式TCP客户端和电脑网络调试助手 2.STA模式TCP客户端和手机网络调试助手

高中-信息技术科目考试-编程题

&#xff08;24上&#xff09;1.为了响应国家低碳的倡议&#xff0c;学校请你设计一个饮料瓶回收系统&#xff0c;根据投的饮料瓶类型和数量进行奖励。具体如下图&#xff1a;假设学生投瓶10个&#xff0c;投瓶类型定义为t&#xff08;0表示塑料瓶&#xff0c;1表示易拉罐&…

如何将文件Copy到Docker镜像中

如何将文件Copy到Docker镜像中 一、使用Dockerfile的COPY指令二、使用Docker CP命令三、使用Docker Volume四、综合应用Docker作为一种轻量级的容器化技术,在软件开发和部署中得到了广泛应用。在使用Docker时,经常需要将本地文件或目录复制到Docker镜像中,以便在容器内部使用…

Figma入门-文字、样式、链接、动作

Figma入门-文字、样式、链接、动作 前言 在之前的工作中&#xff0c;大家的原型图都是使用 Axure 制作的&#xff0c;印象中 Figma 一直是个专业设计软件。 最近&#xff0c;很多产品朋友告诉我&#xff0c;很多原型图都开始用Figma制作了&#xff0c;并且很多组件都是内置的…

shell编程(8) until循环以及函数基本创建调用

声明!!! 学习视频来自B站UP主泷羽sec&#xff0c;如涉及侵权马上删除文章 视频链接&#xff1a;泷羽sec 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 # until循环 脚本代码&#xff1a; i0 until [ ! $i -lt 1…

NVR管理平台EasyNVR多品牌NVR管理工具的流媒体视频融合与汇聚管理方案

随着信息技术的飞速发展&#xff0c;视频监控已经成为现代社会安全管理和业务运营不可或缺的一部分。无论是智慧城市、智能交通、还是大型企业、校园安防&#xff0c;视频监控系统的应用都日益广泛。NVR管理平台EasyNVR&#xff0c;作为功能强大的流媒体服务器软件&#xff0c;…

fastadmin实现站内通知功能

实现效果如下 application/admin/view/common/header.html <style>#notificationMenu {display: none;position: absolute;top: 40px;right: 0;background: #fff;border-radius: 6px;padding: 10px 0;width: 300px;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);z-inde…