当前位置: 首页 > news >正文

使用Mybatis接口开发

文章目录

目录


前言

公司项目用到了mybatis开发接口,虽然很简单,但是mybatis不是特别熟悉,这里学习一下


一、Mybatis接口绑定的两种方式

1.接口绑定实现方式

        就是在接口的方法上加上@Select,@update@Insert@Delete等注解

  1. @select注解介绍:
    1. 简便,能快速去操作sql,它只需要在mapper方法中加入@select,然后在括号中写入需要实现的sql语句即可
    2. 另外一种方式就是想我们通常写的xml类似,在注解中使用等相关的标签来实现我们复杂的语句,但是必须在外面一层用标签将sql语句含进去.(不推荐,当条件比较复杂时,字符串中难免会出现很多错误)
    3. 目的是取代xml中的select标签,只作用在方法上面.下面看一下@Select注解的源码介绍:Selet注解只能修饰方法,@select注解的值是字符数组 虽然@Select注解的值是字符数组,但是真正生效的应该是最后那条SQL语句,这一点请大家要留意一下
  2.  @update注解介绍:

    1. 更新参数

2.XML方式的用法

        mybatis的强大之处就在于自定义的SQL语句,映射器的xml文件方式相比JDBC简单,节省代码量(好家伙前几天刚学的jdbc白学了,学编程经典白学)

  1. 先创建Mapper.java接口文档
  2. 创建Mapper.xml配置文件(注意mapper接口文件的函数名要和xml配置文件中id的名字要匹配)
  3. 在全局配置文件中配置映射路径
    1. 全局配置文件一般有三种:application.properties appliccation.yaml application.yml
    2. yml后缀的文件配置更加简便,本次项目的全局配置文件也是这个格式
  4. XML开发方式规范
    1. 在mapper.xml中namespace命令空间等于Mapper接口的全路径名
    2. Mapper.java接口中的方法名和Mapper.xml中的Statement的Id一致
    3. Mapper.java接口中方法的参数类型和Mapper.xml中parameterType的制定类型一致
    4. Mapper.java接口中方法的返回值类型和Mapper.xml中的resultType制定的类型一致

二、注解方式的用法

  1. 注解形式是直接将SQL写在接口方法上
  2. 优点:效率很高
  3. 缺点:SQL有变动时需要重新编译代码
  4. 在mybatis注解的SQL中,基本的注解:@Select,@Update,@Delete,@Insert
  5. @Data注解相当于给注解的对象所有属性全部创建get/set和tostring方法,提升代码的整洁性

零散的知识点:

  1. @RestController意思是return的数据都变成json的格式,返回到前端,但是不会跳转页面.如果想跳转页面的话,就需要把RestController改成Controller,就会跳转页面了
  2. @Resource和@Autowired的区别:
    1. 他们都可以用来装配bean,都可以用于字段或者setter方法()
    2. @Autowired默认按照类型装配,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false.
    3. @Resource默认按名称装配,当找不到与名称匹配的bean时才会按照类型进行装配.名称可以通过name属性指定,如果没有指定name属性,当注解写在字段上时,默认取字段名,当注解写在setter方法上时,默认取属性名进行装配
    4. 注意:如果name属性一旦制定,就只会按照名称进行装配
    5. @Autowire和@Qualifier配合使用效果和@Resource一样

总结

对于基于mybites的开发的API接口有了更深的理解,能看懂API逻辑,但还写不出来,争取明天能写出来吧

参考和学习文档:

Spring Boot+mybatis-plus之@Select注解 - 简书

Mybatis使用_mybatis接口实现相关说明_YEEYang12的博客-CSDN博客

相关文章:

使用Mybatis接口开发

文章目录 目录 前言 公司项目用到了mybatis开发接口,虽然很简单,但是mybatis不是特别熟悉,这里学习一下 一、Mybatis接口绑定的两种方式 1.接口绑定实现方式 就是在接口的方法上加上Select,updateInsertDelete等注解 select注解介绍: 简便,能快速去操作sql,它只需要在mapper…...

数据采集技术的实现原理有哪些?

数据采集技术是指通过各种手段和技术手段,从互联网、移动设备、传感器等各种数据源中获取数据,并将其存储、处理和分析,以便为业务决策和应用提供支持。本文将介绍数据采集技术的实现原理,包括数据采集的基本流程、数据采集技术的…...

2023年数学建模随机森林:基于多个决策树的集成学习方法

2023年9月数学建模国赛期间提供ABCDE题思路加Matlab代码,专栏链接(赛前一个月恢复源码199,欢迎大家订阅):http://t.csdn.cn/Um9Zd 目录 目录 1. 什么是随机森林? 2. 随机森林的优缺点 3. 随机森林的构建过程...

OpenAI发布最新研究让大模型数学推理直接达到SOTA

🦉 AI新闻 🚀 OpenAI发布最新研究:基于过程奖励的监督方法,让大模型数学推理直接达到SOTA 摘要:OpenAI最新研究基于GPT-4微调,采用过程监督和结果监督两种监督方法,奖励每个正确推理步骤的过程…...

快速检测 GlassFish 任意文件读取漏洞的 Python 脚本

部分数据来源:ChatGPT 引言 当下,互联网安全问题正愈发严重,黑客利用各种漏洞进行攻击的频率也在持续增加。在2015年10月,一位名为“路人甲”的安全研究员在乌云上公开了一个名为“应用服务器glassfish存在通用任意文件读取漏洞”的漏洞(编号:wooyun-2010-0144595),该…...

Docker镜像更新通知器DIUN

什么是 DIUN ? Docker Image Update Notifier 是一个用 Go 编写的 CLI 应用程序,可作为单个可执行文件和 Docker 映像交付,用于当 Docker 映像在 Docker registry中更新时接收通知。 和老苏之前介绍过的 watchtower 不同,DIUN 只是通知&…...

插件框架PF4J-从理论到实践

PF4J:Plugin Framework for Java 目录 是什么? 不是什么? 特点 组件 主要类 流程概述 spring-pf4j 思考 功能模块化 我对pf4j的封装和使用demo GitHub - chlInGithub/pf4jDemo: pf4j demo 是什么? 开源轻量级的插件框架。通过插件…...

怎么将pdf文件免费转为扫描件

推荐两个工具,也算是给自己记一下 1、手机:扫描全能王APP 太好使了,可以直接拍照并转换为扫描件 不开会员的话会出现水印,因为我都是自己用或者交作业就没开 支持读取相册,一次一张、多张都可以 如果不想要水印也…...

vue+nodejs校园二手物品交易市场网站_xa1i4

。为满足如今日益复杂的管理需求,各类管理系统程序也在不断改进。本课题所设计的校园二手交易市场,使用vue框架,Mysql数据库、nodejs语言进行开发,它的优点代码不能从浏览器查看,保密性非常好,比其他的管理…...

Barra模型因子的构建及应用系列六之Book-to-Price因子

一、摘要 在前期的Barra模型系列文章中,我们构建了Size因子、Beta因子、Momentum因子、Residual Volatility因子和NonLinear Size因子,并分别创建了对应的单因子策略,其中Size因子和NonLinear Siz因子具有很强的收益能力。本节文章将在该系列…...

【c语言习题】使用链表解决约瑟夫问题

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c语言系列专栏&#xff1a;c语言之路重点知识整合 &#x…...

JVM之类的初始化与类加载机制

类的初始化 clinit 初始化阶段就是执行类构造器方法clinit的过程。此方法不需定义&#xff0c;是javac编译器自动收集类中的所有类变量的赋值动作和静态代码块中的语句合并而来。构造器方法中指令按语句在源文件中出现的顺序执行。clinit不同于类的构造器。(关联&#xff1a;…...

面试专题:java 多线程(1)----synchronized关键字相关问答

在java 多线程 面试中最多问题1.悲观锁和乐观锁&#xff1b;2.synchronized和lock的区别&#xff1b;3.可重入锁和非可重入锁的区别&#xff1b;4.多线程是解决什么问题的&#xff1b;5.线程池解决什么问题的&#xff1b;6.线程池原理&#xff1b;7.线程池使用注意事项&#xf…...

VMware SD-WAN 5.2 发布 - 软件定义的 WAN

VMware SD-WAN 5.2 发布 - 软件定义的 WAN SD-WAN 解决方案的领导者 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-sd-wan-5/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 产品概述 软件定义的 WAN (SD-WAN)…...

Oracle+11g+RAC+PSU_EAM(2)

2.15 解压安装介质 在获取开篇1.2节中提到的安装介质如下&#xff1a; [rootebsrac1 ~]# ls -l -rw-r–r– 1 root root 1358454646 Apr 20 16:22 p13390677_112040_Linux-x86-64_1of7.zip -rw-r–r– 1 root root 1142195302 Apr 20 16:29 p13390677_112040_Linux-x86-64_…...

智能出行 驱动未来|2023 开放原子全球开源峰会 CARSMOS 开源智能出行生态年会即将启幕

由开放原子开源基金会主办&#xff0c;元遨 / CARSMOS 开源智能出行项目组协办&#xff0c;深信科创、Futurewei Technologies、Open Motors、北极雄芯等单位共同承办的 2023 开放原子全球开源峰会 “CARSMOS 开源智能出行生态年会” 将于 6 月 12 日在北京经开区北人亦创国际会…...

Linux:centos:周期性计划任务管理《crontab》

crontab常用基础属性 -e 编辑计划任务 -l 查看计划任务 -r 删除计划任务 -u 指定用户的计划任务 首先创建一个名为test的用户名 crontab时间规定 格式&#xff1a;分钟 小时 日期 月份 星期 命令 分钟-- 0-59整数 小时 -- 0-23整数 日期 -- 1--31 整数 月份 -- 1-12 整数 星期…...

克拉默法则证明(Cramer‘s Rule)

若 n 个方程 n 个未知量构成的非齐次线性方程组&#xff1a; { a 11 x 1 a 12 x 2 . . . a 1 n x n b 1 a 21 x 1 a 22 x 2 . . . a 2 n x n b 2 . . . . . . a n 1 x 1 a n 2 x 2 . . . a n n x n b n \begin{equation*} \begin{cases} a_{11}x_{1} a_ {12}x_{2}…...

【接口防刷】处理方案

【接口防刷】 欢迎使用【接口防刷】常见的处理方案访问次数和频率限制验证码校验登录校验机制数据交互加密异常监测机制附录 欢迎使用【接口防刷】常见的处理方案 接口防刷处理方案是指为了防止恶意攻击或非法数据采集&#xff0c;采取一系列技术措施来保护接口数据的安全和完…...

安装Linux-SUSE操作系统

文章目录 一、安装Linux-SUSE系统1、环境准备2、SUSE 镜像的下载2.1、下载企业服务器2.2、ARM和桌面的ISO 3、安装SUSE4、配置本地 yum 源5、SUSE常用安装命令6、在 SUSE系统上安装mysql数据库步骤&#xff1a;7、破解SUSE系统root密码 一、安装Linux-SUSE系统 1、环境准备 操…...

深度解析:光引擎、光模块、光器件之间的关系和区别?

随着AI大模型加速迭代&#xff0c;算力集群正从“千卡”向“万卡”“十万卡”规模迈进&#xff0c;光通信作为连接算力的“血管”&#xff0c;其内部层级关系变得愈发关键。然而&#xff0c;光器件、光模块、光引擎这三者并非同一概念&#xff0c;而是产业链中层层递进的“铁三…...

本地能跑线上崩?MonkeyCode统一云端环境解决团队开发噩梦

行内深耕多年&#xff0c;深知绝大多数程序员都被开发环境问题绊住前行脚步&#xff0c;几大行业通病几乎人人都遇见过。换新设备就得全盘重搭开发环境&#xff0c;新电脑到手没空敲代码&#xff0c;反倒整日忙着安装各类工具、调配环境变量、适配项目依赖&#xff0c;耗费大把…...

3步实现百度网盘高速下载:Python解析工具实战指南

3步实现百度网盘高速下载&#xff1a;Python解析工具实战指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse baidu-wangpan-parse是一款高效的Python工具&#xff0c;专门用于…...

拒绝C盘爆红!自制 Windows 系统垃圾一键清理工具(精美UI设计)

你的 C盤 又红了吗&#xff1f;相信很多 Windows 用户都经历过被 **“C盘空间不足”** 支配的恐惧。随着日常办公、浏览网页、系统更新&#xff0c;各种临时文件和日志会悄悄吞噬掉我们珍贵的固态硬盘空间。市面上的清理软件鱼龙混杂&#xff0c;要么捆绑软件&#xff0c;要么后…...

5个核心技术:深度掌握Sollumz在GTA V建模中的架构设计与实战应用

5个核心技术&#xff1a;深度掌握Sollumz在GTA V建模中的架构设计与实战应用 【免费下载链接】Sollumz Grand Theft Auto V modding suite for Blender. This add-on allows the creation of modded game assets: 3D models, maps, interiors, animations, etc. 项目地址: ht…...

探灵直播2026最新官方正版免费下载 一键转存 永久更新 (看到速转存 资源随时走丢)

下载链接 本文将为您客观介绍《探灵直播》的幕后作者、核心玩法机制&#xff0c;并将其与同类型竞品进行简单的横向对比&#xff0c;带您全面了解这款作品的独特之处。 一、 幕后作者&#xff1a;专注于美少女题材的 qureate 《探灵直播》的开发商 qureate 是一家在日本游戏界…...

《最终的数据解读指南》

原文&#xff1a;towardsdatascience.com/the-ultimate-guide-to-making-sense-of-data-aaa121db1119?sourcecollection_archive---------0-----------------------#2024-06-04 来自 Uber、Meta 和高速成长初创公司的 10 年经验教训 https://medium.com/twalbaum?sourcepost…...

擎天租与京东集团达成战略合作,机器人服务加速进入全域场景

5月21日&#xff0c;擎天租宣布与京东集团达成全面战略合作&#xff0c;双方将围绕产品解决方案共建、渠道供应链赋能及规模化采购等方面展开深度合作。此次战略联手&#xff0c;不仅是两家标杆企业在各自优势领域的双向赋能&#xff0c;也将推动RaaS&#xff08;Robot as a Se…...

汽车零部件三维扫描检测:精密制造新标杆,全链路质量管控升级

当下&#xff0c;汽车产业正加速向轻量化、电动化、集成化转型&#xff0c;零部件作为整车质量的核心基石&#xff0c;其制造精度与检测标准持续攀升。主机厂对零部件的形位公差、曲面轮廓度、装配匹配度要求日趋严苛&#xff0c;尤其在新能源汽车领域&#xff0c;薄壁件、复杂…...

taotoken如何帮助初创团队以可控成本快速验证ai产品创意

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken如何帮助初创团队以可控成本快速验证AI产品创意 1. 初创团队验证AI创意的核心挑战 对于初创团队而言&#xff0c;验证一个…...