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

相关推荐
excel35 分钟前
基于 GPT 的自动发布文章接口方案:从一句话或一张图片生成并发布内容
前端·javascript·后端
其实防守也摸鱼2 小时前
个人学习 Pwn 思路:从基础到漏洞利用的进阶路径
大数据·前端·人工智能·chrome·算法·安全·网络安全
朱涛的自习室3 小时前
212 个需求、22 万行代码:Agent 接管开源项目的 19 天
android·前端·人工智能
aZhe的全栈知识分享3 小时前
AI 还原 Figma 效果总达不到预期?先别急着让它写代码
前端·后端·面试
review445433 小时前
Codex Hooks 入门实战:生命周期事件、matcher 与5分钟跑通一个钩子
前端·agent·vibecoding
函数小陈3 小时前
阿里云部署DSH与RAM完成运维
前端·后端
用户499335025073 小时前
JS 作用域劫持的死穴:动态 this 穿透,以及 AST 怎么救
前端
IT_陈寒4 小时前
React的setState真是个演员,你以为它同步其实在装睡
前端·人工智能·后端
孟健6 小时前
Claude Code 同需求写两版对比:装不装 frontend-design 差多远?
前端·ai编程·claude
OpsEye6 小时前
大模型 Token 计量不准,是什么原因,怎么解决??
javascript·ai编程