若依CRUD搬砖开始,Java小白入门(十)

news2024/9/21 16:39:51

背景

  • 经过囫囵吞枣的学习若依框架,对于ruoyi-framework,common,安全,代码生成等模块都看了一圈,剩余的调度模块,这个暂时不深入,剩余的是ruoyi-system,就是用mybatis完成的,接口以及接口的服务实现,ruoyi-admin是controller接口,前端来调用;再就是ruiyi-ui vue2.6版本的。小白入门(-)to(九) 相关的,自行查阅。

动手构建机构管理

数据库设计

CREATE TABLE Orgs  (
Id varchar(245) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '主键ID',
ParentId varchar(245) CHARACTER SET utf8 COLLATE utf8_bin  NULL COMMENT '上级机构',
Type varchar(245) CHARACTER SET utf8 COLLATE utf8_bin   NULL COMMENT '机构类型',
Name varchar(245) CHARACTER SET utf8 COLLATE utf8_bin  NULL COMMENT '机构名称',
Code varchar(245) CHARACTER SET utf8 COLLATE utf8_bin   NULL COMMENT '机构代码',
Leader varchar(245) CHARACTER SET utf8 COLLATE utf8_bin   NULL COMMENT '机构领导',
PhonNumber varchar(245) CHARACTER SET utf8 COLLATE utf8_bin   NULL COMMENT '机构电话',
IsLegalPerson char(1) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '0' COMMENT '是否法人机构(0否 1是)',
Picture  varchar(245) CHARACTER SET utf8 COLLATE utf8_bin   NULL COMMENT '机构图片地址',
del_flag char(1) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
create_by varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '创建者',
create_time datetime NULL DEFAULT NULL COMMENT '创建时间',
update_by varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '更新者',
update_time datetime NULL DEFAULT NULL COMMENT '更新时间',
remark varchar(500) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (Id) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '用户信息表' ROW_FORMAT = Compact;

SET FOREIGN_KEY_CHECKS = 1;

需要注意,这里有不少坑,用的mysql数据库

Id 不是自增的

数据库的字段命名是Pascal格式

如果是tree表,或者主子表,注意看文档

生成代码

  • 创建数据库以后,把选择数据表导入,然后编辑字段的一些属性,生成代码zip包。

运行sql

-- 菜单 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('机构信息', '3', '1', 'orgs', 'system/orgs/index', 1, 0, 'C', '0', '0', 'system:orgs:list', '#', 'admin', sysdate(), '', null, '机构信息菜单');
-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();
-- 按钮 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('机构信息查询', @parentId, '1',  '#', '', 1, 0, 'F', '0', '0', 'system:orgs:query',        '#', 'admin', sysdate(), '', null, '');
  • 生成对应的菜单,以及页面上的按钮。

Copy文件到对应目录

  • 这个操作基本上都是比较顺畅,把对应的java文件,js文件,等等copy对应目录,编译不会有错。

运行

  • 运行后台程序,运行前端程序,一切可以,以下是遇到的一些问题:

  1. 新增有问题,如果id不是自增,int型的,比如
@Override
public int insertOrgs(Orgs orgs)
{
    orgs.setCreateTime(DateUtils.getNowDate());
    orgs.setType("内部机构");
    orgs.setId(new GUID().toString());
    return orgsMapper.insertOrgs(orgs);
}
  1. 另外大坑就是 数据库的命名,是驼峰命名,引发一系列的问题,比如restful 返回的都是驼峰,可是前端直接显示是数据库真实命名(或者若依代码加个处理)等等吧。当然,可能是没有认真读文档的原因,所以砍柴不误磨刀功。
  2. 这个时候如果各类异常,去看若依的输出,以及全局异常处理,不行直接跟踪代码。
  3. 把生成的前端代码copy到若依vue3下是不work的。

总结

总体来讲,磕磕碰碰的完成一些功能,不会有太大的问题,java小白就能基本来做一些体力活了。下一步,还需要深入一些常用的类库,以及稍微高级的用法。这个小白系列,暂时告一段落,大约历时2周时间,真正用上2-3天的时间是有的,所以大部分人员一周掌握基本的内容不会有问题的。

若依框架跑起来,Java小白入门(一)

SpringBoot不求甚解,Java小白入门(二)

注解的理解、使用、原理,Java小白入门(三)

若依common模块解读,Java小白入门(四)

切面编程的理解和使用,Java小白入门(五)

若依framework模块解读,Java小白入门(六)

若依generator模块解读,Java小白入门(七)

常见安全概念澄清,Java小白入门(八)

Spring Security及若依安全实现,Java小白入门(九)

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

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

相关文章

基于算术优化算法优化的Elman神经网络数据预测 - 附代码

基于算术优化算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于算术优化算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于算术优化优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要&…

纯血国产:鸿蒙系统与安卓分道扬镳,对低代码开发行业的影响

近日,科技圈迎来了一则震动性的新闻——鸿蒙系统的“独立宣言”。这一举措意味着鸿蒙系统将与安卓、iOS形成三足鼎立之势,为全球科技市场注入新的活力。 据华为内部人士透露,从明年起,HarmonyOS系统将不再兼容安卓应用&#xff0c…

数模学习day08-拟合算法

这里拟合算法可以和差值算法对比 引入 插值和拟合的区别 与插值问题不同,在拟合问题中不需要曲线一定经过给定的点。拟 合问题的目标是寻求一个函数(曲线),使得该曲线在某种准则下与所 有的数据点最为接近,即曲线拟…

springCould中的Hystrix【下】-从小白开始【8】

目录 🧂1.熔断机制❤️❤️❤️ 🌭2.修改8001服务 ❤️❤️❤️ 🥞3.测试 ❤️❤️❤️ 🥓4. 服务监控hystrixDashboard❤️❤️❤️ 🌭5.仪表盘❤️❤️❤️ 🧂6.仪表盘的使用 ❤️❤️❤️ 1.熔断机…

Linux的Inode号和日志服务管理

目录 一、Inode号 1.inode和block 2.查看inode信息 二、日志服务管理 1.日志的级别 2.日志的种类 3.日志的功能和日志文件的分类 4.日志的格式和分析工具 三、rsyslog日志处理系统 1、使用Rsyslog创建日志优点 2、Rsyslog配置文件解析 3.通过rsyslog将ssh服务的日志…

k8s---pod基础下

k8s的pod与docker重启策略的区别 k8s的重启策略 always deployment的yaml文件只能是always,pod的yaml三种模式都可以。不论正常退出还是非正常退出都重启。OnFailure:正常退出不重启,非正常退出会重启Never:正常退出和非正常退出…

宿舍安全用电监控系统解决方案

摘 要:很多高校宿舍的用电功率存在限制,为此设计了宿舍用电智能监控系统。系统由主控制器、采集部分、通信部分组成。利用STM32作为主控芯片,采集部分采用BL0937芯片采集电压和电流,采集多条线路用电数据,各路数据采集通道均采用隔离保护,通信部采用4G、LoRa无线通信…

系统架构设计师教程(十)软件可靠性基础知识

软件可靠性基础知识 10.1 软件架构演化和定义的关系10.1.1 演化的重要性10.1.2 演化和定义的关系 10.2 面向对象软件架构演化过程10.2.1 对象演化10.2.2 消息演化10.2.3 复合片段演化10.2.4 约束演化 10.3 软件架构演化方式的分类10.3.1 软件架构演化时期10.3.2 软件架构静态演…

Dockerfile基本结构及编写详解

文章目录 1 Dockerfile1.1 Dockerfile的基本结构1.2 Dockerfile文件说明1.3 Dockerfile常见命令1.4 build命令1.5 部署微服务1.6 docker-compose部署 1 Dockerfile ​ Dockerfile其实就是我们用来构建Docker镜像的源码,当然这不是所谓的编程源码,而是一…

用通俗易懂的方式讲解:2024 检索增强生成技术(RAG)研究进展

本篇内容1w字左右,稍微有点长,相对不容易理解,喜欢可以收藏、关注、点赞。 一、前言 在过去的一两年里,人工智能领域目睹了检索增强生成技术(RAG)的迅猛发展,这种技术结合了强大的语言模型与信…

百倍潜力股Aleo即将上线,布局正当时!牛市来时,你得有币!

前言 在加密货币市场,2024年被众多市场专家预测为迎来新一轮牛市的关键年份。这一预测背后,潜藏着多种可能推动牛市的因素。其中,下一次比特币(BTC)的减半事件,以及2024年 BTC 现货ETF的推出,都…

python统计分析——直方图(sns.histplot)

使用seanborn.histplot()函数绘制直方图 from matplotlib.pyplot as plt import seaborn as snsdata_setnp.array([2,3,3,4,4,4,4,5,5,6]) plt.hist(fish_data) (1)dataNone, 表示数据源。 (2)xNone, 表示直方图的分布垂直与x轴…

UG装配-爆炸图

当我们将零件装配成总成的时候,通常需要绘制爆炸图来说明总成零件组成,需要用到爆炸图命令,首先点击新建爆炸,然后为爆炸图命名 然后我们可以选择编辑爆炸或者自动爆炸: 编辑爆炸是通过手动的方式选择部件&#xff0c…

岁月匆匆,技术之光

岁月匆匆,技术之光 博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客👦🏻 《java 面试题大全》 🍩惟余辈才疏学浅,临摹之作或有不妥之处,还请读者海涵指正。☕🍭 《MYSQL从入门到精…

【洛谷学习自留】p9226 糖果

解题思路: 简单的计算题,用n对k取余,如果余数为0,则输出k的值,否则输出(k-余数)的值。 代码实现: import java.util.Scanner;public class p9226 {public static void main(Strin…

2024年如何借用电商新零售破局?新型商业模式——乐享甄选竞拍模式

2024年如何借用电商新零售破局?新型商业模式——乐享甄选竞拍模式 背景:经历疫情三年的黑天鹅,消费者对未来收入预期和不自信等悲观情绪,从而使得“勒紧腰带,少消费,不消费”,以简单实用成为了新…

全栈自动化测试面试题含答案和学习路线(适合各级软件测试人员)

在面试战场上,我们需要像忍者一样灵活,像侦探一样聪明,还要像无敌铁金刚一样坚定。只有掌握了这些技巧,我们才能在面试的舞台上闪耀光芒,成为那个令HR们心动的测试人 前言: 我相信大多测试开发的或多或少经…

图像去噪——CBDNet网络训练自己数据集及推理测试,模型转ONNX模型(详细图文教程)

CBDNet 主要由两个子网络组成:噪声估计子网络和去噪子网络。噪声估计子网络用于估计图像的噪声水平,而去噪子网络用于去除图像中的噪声。 CBDNet 的优势在于: 它采用了更真实的噪声模型,既考虑了泊松-高斯模型,还考虑…

01.Typora1.7.6安装以及更换主题方法

重所周知,程序员的笔记资料有多么重要,不仅是自我提升也是加强记忆 那么一定少不了Typora这个软件 今天就来感受一下它应该如何打开正确的安装的方法。 双击文件夹以后,里面会有这样两个文件 我们双击后缀为.exe的文件 更改安装位置&#…

程序员副业之AI情侣头像(手把手超详细完整全流程)

项目介绍 小黑今天给咱们分享个轻松简单的项目,每天不会超过半小时,就是用AI制作情侣头像,在抖音上变现。听起来是不是很科幻?但实际上效果杠杠的! 最关键的是,收入方面,一单9块9,…