基于SpringBoot+Vue+ElementUI+Mybatis前后端分离管理系统超详细教程(三)

拓展学习------用XML方式写动态SQL实现数据库更新操作

前情回顾

前一章节我们学习了使用注解方式实现后端数据库增删改查操作

基于SpringBoot+Vue+ElementUI+Mybatis前后端分离管理系统超详细教程(二)

本节课程接着拓展一下用xml配置文件方式来实现对 数据库更新操作,其他增删查操作同理。


目录

拓展---学习用XML方式写动态SQL实现数据库更新操作

前情回顾

一、准备工作

1、先把MyBatisX插件安装好

2、如下图在mapper包下创建User.xml文件

3、在.xml文件中添加如下代码

3.1命名空间后名字的获得办法:

4、然后我们接着在标签中添加SQL语句

4.1、这里由于版本和idea的语法检查规则,我的表名爆红,

4.2、解决办法:把数据库添加到idea里面:

4.2.1、先去yml文件里把这串路径复制一下

4.2.2、再按下图步骤操作

4.2.3、粘贴

4.2.4、显示连接成功画面:​编辑

[4.2.5、 点击刷新按钮](#4.2.5、 点击刷新按钮)

5、注释UserMapper中的sql语句

二、postman测试

1、点击运行,启动项目

2、打开postman测试

3、输入访问路由,添加json语句,

4、点击send,返回影响行数

三、总结


一、准备工作

1、先把MyBatisX插件安装好

2、如下图在mapper包下创建User.xml文件

3、在.xml文件中添加如下代码

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">
<!--namespace指向mapper.xml对应的Mapper接口文件,根据个人项目修改成自己的名字-->
<mapper namespace="com.xrk.ejobback.mapper.UserMapper">
</mapper>

3.1命名空间后名字的获得办法:

(1)按照下图步骤复制路径

(2)复制好的路径粘贴在如下图红线的引号里:

4、然后我们接着在<mapper></mapper>标签中添加SQL语句

sql 复制代码
    <update id="update">
        update sys_user
        <set><!--这里我们做这样的判断,主要是为了实现不将原有的数据置空,非必须项-->
            <if test="username !=null ">
                username=#{username},
            </if>
            <!--一般情况password不能修改,修改密码通常单独拉出来做一个业务-->
            <if test="password !=null ">
                password=#{password},
            </if>
            <if test="nickname !=null ">
                nickname=#{nickname},
            </if>
            <if test="email !=null ">
                email=#{email},
            </if>
            <if test="phone !=null ">
                phone=#{phone},
            </if>
            <if test="address !=null ">
                address=#{address}
            </if>
        </set>
        <where>
            id=#{id}
        </where>
    </update>

4.1、表名爆红

这里由于版本和idea的语法检查规则,我的表名爆红;

4.2、解决办法

把数据库添加到idea里面:

4.2.1、先去yml文件里把这串路径复制一下
4.2.2、再按下图步骤操作
4.2.3、粘贴

把刚刚复制的路径粘贴在圈1的位置,圈儿2是自己的数据库账号密码,圈3自定义名字,填好了先点击圈4,看到步骤4.2.4中的窗口再点击圈5、6。

4.2.4、显示连接成功画面:
4.2.5、 点击刷新按钮

可以看到xml文件中爆红和警告全部消失

5、注释掉UserMapper中的sql语句(或者删除)

二、postman测试

1、点击运行,启动项目

2、打开postman测试

3、输入访问路由,添加json语句,

4、点击send,返回影响行数

证明我们的Xml配置生效

5、再查看数据库数据:也被修改成功


三、总结

经过前面几个章节的学习我们掌握了:

1、如何使用Vue快速搭建前台工程化项目,并结合elementUI优化了界面;

2、还学会了使用注解、xml配置两种方式对后端进行数据库CRUD操作;

3、第四章节我们接着学习前后端跨域连接,这样就架起了前后端交互的桥梁。

相关推荐
水瓶夜之4 分钟前
.NET 中的新增功能系列文章——.NET SDK中的新增功能
前端·chrome·.net
笨笨狗吞噬者39 分钟前
VS Code 内置浏览器打开网页
前端
SamChan9039 分钟前
WebSocket实现PDF翻译进度实时推送:Go后端+React前端的完整方案
前端·websocket·pdf·c#·react·机器翻译
甲维斯1 小时前
DeepSeekFlash前端依旧拉垮,而且变慢了很多!
前端·人工智能
奈斯先生Vector1 小时前
大模型 Agentic Workflow 架构解构:异构 API 调度与 Token 路由的多模态系统设计
开发语言·前端·架构·prompt·aigc·音视频
海带紫菜菠萝汤1 小时前
FFmpeg.wasm 实践:在浏览器中运行 FFmpeg 的能力边界与性能瓶颈
前端·javascript·ffmpeg·音视频·wasm
名字还没想好☜1 小时前
React 受控输入框光标跳到末尾:格式化输入时的 selection 丢失 bug 与修复
前端·javascript·react.js·bug·react·next.js
Access开发易登软件1 小时前
Access 怎么做前后端分离?用 Web API 读写 SQL Server
前端·数据库·人工智能·microsoft·excel·access
10share1 小时前
React 新一代样式隔离方案 —— 编译时、零运行时、原生写法
前端·react.js
upgrador2 小时前
桌面应用开发:Electron 与 NSIS 的关系、打包流程及 Windows 本地构建实战
javascript·windows·electron