【Mybatis操作数据库】入门(一)

news2024/11/26 2:51:52

个人主页:兜里有颗棉花糖
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
收录于专栏【MyBatis框架】
本专栏旨在分享MyBatis框架的学习笔记,如有错误定当洗耳恭听,欢迎大家在评论区交流讨论💌

目录

  • 一、什么是Mybatis
    • 操作步骤
  • 二、创建工程
    • 数据准备
  • 三、持久层代码的编写
    • 企业建表规范
  • 四、单元测试
  • 五、Mybatis常见报错
  • 六、配置打印MyBatis日志
  • 七、参数传递

一、什么是Mybatis

Mybatis是一个持久层的框架,与Spring没有任何关系,用于简化JDBC开发。

  • 持久层就是持久化操作的层,通常指数据访问层,是用来操作数据库的。

在这里插入图片描述

简单来说,Mybatis可以更好的简化程序与数据库之间的交互,也就是更简单的操作和读取数据库工具。

操作步骤

Mybatis操作数据库的步骤如下:

  • 创建springboot项目(实体类、数据库表准备)
  • 引入Mybatis相关依赖,配置Mybatis(配置数据库连接信息)
  • 编写SQL语句
  • 测试

二、创建工程

使用Mybatis操作数据库的话,首先是SQL语句,然后就是数据库对象和Java对象的映射

创建项目
在这里插入图片描述

添加相关依赖。核心依赖:MyBatis FramewokMySQL Driver
在这里插入图片描述

数据库连接信息MyBatis连接数据库的时候需要配置数据库的相关参数的配置:
在这里插入图片描述

数据准备

创建一个数据表,如图所示:
在这里插入图片描述

创建对应的实体类:
在这里插入图片描述

三、持久层代码的编写

Mybatis的持久层接⼝规范⼀般都叫XxxMapper

Mapper注解:表⽰是MyBatis中的Mapper接⼝。Mapper注解是MyBatis框架中用来将Java接口映射为对应的SQL语句的注解。在MyBatis中,Mapper接口可以定义SQL语句,并通过Mapper注解来将接口与对应的SQL语句进行关联。这样可以方便开发人员在Java代码中直接调用Mapper接口中定义的方法来执行SQL操作,而无需手动编写复杂的SQL语句。

在这里插入图片描述

Mybatis的持久层接⼝规范⼀般都叫XxxMapper

企业建表规范

建表是哪怕表中只有一个字段,也要在表中建立这三个字段:idcreate_timeupdate_time

  • 字段名、表名全部小写。

四、单元测试

在需要写单元测试的类中右键,点击generate->点击Test:

在这里插入图片描述

在这里插入图片描述

五、Mybatis常见报错

  • 没有配置数据库相关信息。

在这里插入图片描述

  • 密码错误

在这里插入图片描述

  • 数据库错误

在这里插入图片描述

  • 数据表不存在
    在这里插入图片描述

  • 字段错误(比如某字段不存在)

在这里插入图片描述

六、配置打印MyBatis日志

在application.yml文件中配置MyBatis相关日志的信息,如下:

mybatis:
  configuration: # 配置打印MyBatis⽇志
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

在这里插入图片描述

七、参数传递

传递参数时,如果只有一个参数的话,那么参数的名称可以是任意的。
在这里插入图片描述
但是当然不建议这样做了,通常情况下还是要保持一致的,如下:
在这里插入图片描述

另外,Param注解用于指定方法参数的名,比如:
在这里插入图片描述
解释:在这个例子中,@Param(“userId”)指定了方法参数id对应的实际参数值是userId,这样在SQL语句中就可以通过#{userId}来引用这个参数值。

本文到这里就结束了,希望友友们可以支持一下一键三连哈。嗯,就到这里吧,再见啦!!!

在这里插入图片描述

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

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

相关文章

某云eHR PtFjk.mob 任意文件上传漏洞复现

0x01 产品简介 某云eHR是大中型企业广泛采用人力资源管理系统。红海云是国内顶尖的HR软件供应商,是新一代eHR系统的领导者。 0x02 漏洞概述 某云EHR系统PtFjk.mob接口处存在未授权文件上传漏洞,攻击者可上传webshell来命令执行,获取服务器权限。 0x03 复现环境 FOFA:b…

男士内裤什么材质的好?五款材质舒适的男士内裤品牌

男士内裤目前已经有非常多的选择,三角/平角、传统面料/功能面料、设计版型等等都五花八门,所以不少男性朋友在挑选内裤时都觉得选择过多,另人难以选择,同时还担心选到一些质量不好的内裤,舒适性不仅差而且对健康有影响…

已解决-你需要trustedinstaller权限才能执行此操作

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.解决方法 一.前言 我想删除C:\Windows\System32\drivers文件夹下面的内容,可是报错: 怎么办呢? 二.解决方法 右键要删除的文件

【自动驾驶|毫米波雷达】逻辑化讲解测角全流程

第一次更新:2024/5/7 目录 一. 引入 基础概念 二. 测角原理 1. 接收天线不同位置 2. 角度几何关系 3. 角度正负规定 4. 角度测量 5. 最大不模糊角 三. 角度分辨率 1. 相位变化量 2. 角度表示 3. 角度变化量 三. 测角算法 1. 三维快速傅里叶变换 (3D-FFT&…

视频号创作者分成4.0,软件无脑原创,轻松过分成计划,日入600+

详情介绍 今天给大家带来的项目是《视频号创作者分成4.0,软件无脑原创,轻松过分成计划,日入600》

在Mars3d实现cesium的ImageryLayer自定义瓦片的层级与原点

需要自定义瓦片层级和原点,所以需要自己写第三方图层,但是之前写的很多方法,图层控制和显隐以及透明度,需要跟之前的交互一直,改动量太大的话不划算,所以直接看Mars3d的layer基类,把重写的image…

定时任务还可以这么玩--基于SpringBoot中的ThreadPoolTaskScheduler实现动态定时任务

Hi,大家好,我是抢老婆酸奶的小肥仔。 最近做了一个需求:将定时任务保存到数据库中,并在页面上实现定时任务的开关,以及更新定时任务时间后重新创建定时任务。 于是想到了SpringBoot中自带的ThreadPoolTaskScheduler。 在Spring…

华为OD机试 - 找磨损度最高和最低的硬盘 - 优先队列(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试…

Linux中的软连接和硬链接

一、软和硬链接连接 在Linux系统中,软连接(符号链接)和硬链接是文件系统中两种不同类型的链接,它们用于创建对文件的引用。下面详细解释这两种链接的特点和区别:、 软连接(符号链接) 定义&…

The 2021 Sichuan Provincial Collegiate Programming Contest

The 2021 Sichuan Provincial Collegiate Programming Contest The 2021 Sichuan Provincial Collegiate Programming Contest A. Chuanpai 题意:给出总值k,将k分成xyk,x和y均小于7,最多分成多少组。 思路:暴力跑一…

MATLAB画图,重磅教程MATLAB的美图及强大的绘图功能|

目录 1.plot() 函数: 2.scatter() 函数: 3.histogram() 函数: 4.bar() 函数: 5.plot3() 函数: 6.imshow() 函数: 7.surf() 函数: 福利:免费送资料 MATLAB(Matrix…

Tcl学习笔记(四)——流程控制、过程、命名空间、访问文件

1. 流程控制 if命令 if命令后跟两个参数:表达式、待执行的Tcl脚本。if命令中的每一个左大括号都必须与它前一个字符同行。 有elseif和else可选子句,使用时与if中第二个参数的右大括号放在同一行。 switch命令 switch命令利用一个给定值与多个模式进行匹…

crossover不能生成容器 无法创建容器怎么办

CrossOver不能生成容器,我们应该先了解什么是容器,容器是盛放类虚拟机——CrossOver在macOS系统和Linux系统下载的win版软件的器皿。无法创建容器怎么办?无法创建多数情况是macOS系统与CrossOver不兼容所造成的。 首先,我们将介绍…

护眼台灯什么牌子好一点?五款专业护眼灯品牌排行分享

台灯作为家庭中不可或缺的桌面照明设备,在儿童和青少年的学习生活中扮演着至关重要的角色。对于这个年龄段的孩子来说,台灯的选择尤为关键,因为不恰当的照明可能对他们娇嫩的视力造成损害。护眼台灯什么牌子好一点?家长们在挑选台…

男士内裤什么品牌质量好?男士内裤选购指南攻略分享

有很多小伙伴认为男士内裤只是穿在里面的,只要能穿就不讲究了。但实际上选择一些质量不好的男士内裤会让穿着舒适性十分不佳,同时还会因为不具备抗菌效果而滋生细菌,导致出现健康问题。 最近我也是深入研究了一番关于男士内裤,今天…

连锁餐饮店做扫码点餐小程序的作用是什么

餐饮业市场规模高,餐厅、奶茶店、火锅店、小吃店、烧烤店等每天都有不少用户消费,其中也不乏连锁品牌,在线下就餐场景里,扫码点餐已经成为众多商家必备,提升客户餐品选择效率,也能提高商家管理能力及节约时…

Linux学习之高级IO

之前的内容我们基本掌握了基础IO,如套接字,文件描述符,重定向,缓冲区等知识都是文的基本认识,而高级IO则是指更加高效的IO。 对于应用层,在读写的时候,本质就是把数据写给OS,若一方…

MFC DLL注入失败一些错误总结

使用cheat Engine为MFC窗口程序注入DLL时一定要注意,被注入的exe程序和注入的DLL 的绝对路径中一定不要带有中文字符,否则会遇到各种各样的奇怪错误,如下所示: 以下是dll绝对路径中均含有中文字符,会报错误&#xff…

浙大最新开源:MGMap-掩码引导学习的在线矢量化高精地图构建方法

论文标题: MGMap: Mask-Guided Learning for Online Vectorized HD Map Construction 论文作者: Xiaolu Liu, Song Wang, Wentong Li, Ruizi Yang, Junbo Chen, Jianke Zhu 作者单位:浙江大学,有鹿科技 开源地址:…

RUST 编程语言使构建更安全的软件变得更加容易。RUST ALL THE THINGS 需要什么?

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…