基于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、第四章节我们接着学习前后端跨域连接,这样就架起了前后端交互的桥梁。

相关推荐
Highcharts.js3 分钟前
数据可视化避坑指南 ——开发中常见图表错误与修复方案
javascript·信息可视化·数据可视化·highcharts·数据可视化避坑·修复方案
观无15 分钟前
若依EasyExcel实现单元格合并
开发语言·前端·javascript
愚公搬代码40 分钟前
【愚公系列】《Web应用安全》001-VMware的安装
前端·安全
xiaohaiAIgeo41 分钟前
【2026年】HG/T 20656-2024化工暖通空调设计规范:新版标准的变化与影响
java·前端·javascript·科普知识
立少→万能汉编43 分钟前
用“立少→超文本”写静态网页,标签<倍>
服务器·前端·javascript
weixin_431600441 小时前
NestJS 入门(7):生命周期钩子——构造函数和 `OnModuleInit` 差在哪?
前端·后端·学习·node.js·nest.js
你挚爱的强哥1 小时前
【chromeDownload】自定义组件:多用于登录框底部提供下载Chrome谷歌浏览器的链接
前端·vue.js·chrome
cindershade2 小时前
用原生 HTML5 视频与 Canvas 实现浏览器端视频抽帧封面
前端
笨鸟先飞,勤能补拙2 小时前
Web 服务器与计算机网络全景原理
运维·服务器·前端·网络·人工智能·计算机网络·web安全
NutShell Wang2 小时前
Wails v3 Beta 实战:用显式对象模型重写你的第一个 Go 桌面应用
前端·人工智能·go·vibe coding