4.后端·新建子模块与开发(传统模式)

news2024/11/25 18:28:44

文章目录

  • 学习资料
  • 新建子模块与各层
  • 查询entity的列表
    • entity
    • mapper层
    • service层
    • controller层
  • 测试

学习资料

https://www.bilibili.com/video/BV13g411Y7GS?p=8&spm_id_from=pageDriver&vd_source=ed09a620bf87401694f763818a31c91e b站的学习视频

新建子模块与各层

在run起来若依框架之后,可以新建自己的java项目的子模块,进行编码开发,无缝接入若依框架。利用ide新建一个module,如下图:
在这里插入图片描述
下一步,注意选择maven格式的模块,并且不要用maven的骨架。
在这里插入图片描述
然后输入新建模块的名字,注意gav在选择parent之后,一般都是沿用的不用改,如下图。
在这里插入图片描述
创建完成之后,目录结构如下图所示:
在这里插入图片描述
新建数据库的entity的映射的java类,注意路径,可以参考一下system模块的,创建自己的正确路径的java类,这里有一个spring 扫描的问题,所以要遵循若依的标准。注意:自己不能随便整包名!
在这里插入图片描述
创建mapper层,如下图:
在这里插入图片描述
有了mapper接口,就要写mapper的xml文件了,这里有映射规则和路径规则,如下图:
在这里插入图片描述
遵循规则,如下图建立xml文件。建立java到xml的映射。
在这里插入图片描述
建立业务层,创建接口与实现类,如下图所示,注意遵循包名的命名规则。
在这里插入图片描述

查询entity的列表

entity

首先,需要继承baseEntity,有默认的6个字段。这个类在common包下,需要去pom文件解决一下引用的问题。
在这里插入图片描述
pom文件,增加common模块的引用。这样这个类就可以被使用了。
在这里插入图片描述
然后去java实体类中,建立数据库的字段映射。getset方法,以及tostring。(后续可以用lombok)
在这里插入图片描述

mapper层

在mapper接口中,声明这个方法,并且使用mybatisx插件,生成xml文件中的对应的内容。
在这里插入图片描述
xml文件中,一般现有一个resultmap将数据库字段与java类的属性做一个映射。如下图:
在这里插入图片描述

界面返回值,一般是vo的list集合,vo在xml中也有体现。
在这里插入图片描述

条件查询的时候,传入的条件,都是可选的,在xml中可以有这种片段。如下图。
在这里插入图片描述

service层

在接口类中声明方法,如下图:
在这里插入图片描述
在实现类中,实现具体的逻辑。
在这里插入图片描述

controller层

若依框架的特色,就是所有的controller都是在admin包里面,其它三层在各子模块里面,所以在admin包下新建这个controller。
在这里插入图片描述
继承basecontroller,不继承会找不到分页的功能。
在这里插入图片描述

配置路由注解与restcontroller注解。
在这里插入图片描述

编写访问列表的方法,注意配置权限与访问路由。
在这里插入图片描述

测试

在admin包下进行测试。新建test目录结构,并且在admin的pom中增加test的依赖,如下图:
在这里插入图片描述
然后添加子模块的依赖,这样才能访问service方法。
在这里插入图片描述

新建测试类,注意,这里的测试类的路径有说法,需要能被springboot的启动包,扫描到,在本项目中,就是com.ruoyi.web,如下图:
在这里插入图片描述
进行编码测试,如下:
在这里插入图片描述
方法的左侧,可以进行测试,快捷。输入内容如下,就实现了条件查询。
在这里插入图片描述

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

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

相关文章

Angular变更检测机制

前段时间遇到这样一个 bug,通过一个 click 事件跳转到一个新页面,新页面迟迟不加载; 经过多次测试发现,将鼠标移入某个 tab ,页面就加载出来了。 举个例子,页面内容无法加载,但是将鼠标移入下图…

NO.396 旋转数组

题目 给定一个长度为 n 的整数数组 nums 。 假设 arrk 是数组 nums 顺时针旋转 k 个位置后的数组,我们定义 nums 的 旋转函数 F 为: F(k) 0 * arrk[0] 1 * arrk[1] ... (n - 1) * arrk[n - 1] 返回 F(0), F(1), ..., F(n-1)中的最大值 。 生成…

深度学习-卷积神经网络-纹理表示卷积神经网络-卷积神经网络-[北邮鲁鹏]

这里写目录标题 参考文章全连接神经网络全连接神经网络的瓶颈全连接神经网络应用场景 卷积神经网络卷积层(CONV)卷积核卷积操作卷积层设计卷积步长(stride)边界填充特征响应图组尺寸计算 激活层池化层(POOL)池化操作定义池化操作作用池化层超参数常见池化操作 全连接层(FC)样本…

linux相关知识以及有关指令3

在linux的世界中我们首先要有万物皆文件的概念,那么在系统中有那么多的文件,我们该怎么区分呢?文章目录 1. 文件分类2. 文件的权限1). 拥有者和所属组以及other2). 文件的权限3). 粘滞位4). 对于权限修改的拓展知识点a.修改权限b.修改拥有者所…

智慧工地平台源码 劳务实名制、视频监控、扬尘监测、起重机械安全监测

伴随着技术的不断发展,信息化手段、移动技术、智能穿戴及工具在工程施工阶段的应用不断提升,智慧工地概念应运而生,智慧工地平台围绕施工现场管理,构建全方位的智能监控防范体系弥补传统方法和技术在监管中的缺陷,形成…

分享一个Python 写的监控日志log txt文档 的代码

监控log文件的需求 某些特殊原因,想一直看到.log 的最后一行打印,所以写了一些代码监控log (有个奇怪需求,就是log 因为重复启动原因,会一直加,不是同一个log) 监控界面 涉及的Python代码&…

管理类联考——数学——汇总篇——知识点突破——代数——数列——秒杀

🐟 ⛲️ 特殊值秒解数列 当数列题目中只有一个条件时,在不违背题意的条件下,可以直接利用特殊值, 令其公差为0或公比为1。 注意:一定要检验是否符合题意,题目中如果出现公差不为0或公比不为1,则…

华为云云耀云服务器L实例评测|部署前后端分离项目

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 学习测评 ✨特色专栏: MyS…

[NLP] LLM---<训练中文LLama2(一)>训练一个中文LLama2的步骤

一 数据集 【Awesome-Chinese-LLM中文数据集】 【awesome-instruction-dataset】【awesome-instruction-datasets】【LLaMA-Efficient-Tuning-数据集】Wiki中文百科(25w词条)wikipedia-cn-20230720-filteredBaiduBaiKe(563w词条) …

VIRTIO-SCSI代码分析(3)VIRTIO SCSI数据流处理

VIRTIO SCSI整体数据流如下: IO请求下发过程 虚拟机中通过FIO等下发IO请求,IO请求通过VFS/filesystem,BLOCK层,然后到SCSI层,传递给virtio-scsi驱动,virtio-scsi驱动通过virtioscsi_commit_rqs()下发IO请求…

利用 SOAR 加快事件响应并加强网络安全

随着攻击面的扩大和攻击变得越来越复杂,与网络攻击者的斗争重担落在了安全运营中心 (SOC) 身上。SOC 可以通过利用安全编排、自动化和响应 (SOAR) 平台来加强组织的安全态势。这一系列兼容的以安全为中心的软件可加快事…

【100天精通Python】Day63:Python可视化_Matplotlib绘制子图,子图网格布局属性设置等示例+代码

目录 1 基本子图绘制示例 2 子图网格布局 3 调整子图的尺寸 4 多行多列的子图布局 5 子图之间的共享轴 6 绘制多个子图类型 7 实战: 绘制一个大图,里面包含6个不同类别的子图,不均匀布局。 绘制子图(subplots)…

redis的安装、基础命令学习、常用数据结构

文章目录 前言一、Redis安装1.Ubuntu下安装(1)切换到root用户下(2)使用apt安装redis5(3)为了使redis支持远程连接,修改以下地方(4)验证安装是否成功 2.Centos7下安装&…

基于Java+SpringBoot+Vue+uniapp点餐小程序(包含协同过滤算法和会员系统,强烈推荐!)

校园点餐小程序 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序(小蔡coding)2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 系统功能结构设计4.2 主要功能描述 五…

理清Spring事务的核心关键类

在spring事务源码的内部,会有几个比较核心关键的类,虽然这基本上都是源码内部才使用到的类,但是有时候我们要对其做一些改造的时候免不了要去使用到这些类,并且这些类在spring事务内部都是起到关键的作用,对了解spring…

[2023-09-13]使用EXPDP/IMPDP迁移数据库后统计信息引起的性能问题

问题描述: 客户在使用expdp/impdp迁移数据库完成后,在新环境收集统计信息,但是在迁移完成的当天中午,好多SQL语句执行变慢,执行计划发生了改变,下面通过案例来说明。 1、准备数据 scott用户下创建test表&…

进程控制再学习

0.“开两个终端窗口” 因为学校用的虚拟机,得用终端登录,不能像shell一样直接复制窗口。 我们只需要登录两次就可以了(方便监视) 1.ps 1.循环ps while :;do ps -f;ps -ef|grep zombie;done 每秒打印一次: while :…

基于SSM+Vue的校园教务系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

报修工单系统如何提升维修维保工作效率?

在日常的报修维修工作中,我们经常会遇到一些挑战。其中数据分析是一项艰巨的任务,因为我们需要处理大量的数据并从中提取有价值的信息。维修工单的统计也是一个复杂的过程,需要对工单进行分类和整理,以便更好地了解工作的进度和效…

sudo+vim+g++/gcc+makefile+进度条

目录 一、信任表中加入指定的普通用户(使其能使用sudo) 二、vim的使用 (一)基本概念 1. 正常/普通/命令模式(Normal mode) 2. 插入模式(Insert mode) 3. 末行模式(last line mode) (二)vim正常模式…