springBoot框架学习篇

前言:作为一个前端狗,现在可以写springBoot代码了,每次都被当成切图崽,所以,俺要崛起了,现在来分享分享经验(博主Mysql不会写,纯前端,JAVA 基础,这篇文章主要是为小白还有自己以后写的,高手绕道)

前后端分离人不分离,不再遥不可及,感谢开源若依

一、小凯废话语录

首先呢,先上个干货,看看成果的啦,不然别人以为小凯在吹牛逼

以上代码小凯写的,牛逼不?

下面就来探索一下咋写的 


节目预告  ai生成

首先先打开Navicat Premium,点击查询,新建查询,

上述是我输入的指令,下面是ai生成的结构,上面的数据哪里来的呢,右击鼠标,对准你觉得结构比较好的表,如下:

点击设计表 CV大法术 然后丢给AI

话术 :

请参照这个mysql,完成班级管理表,要求是什么,然后坐等生成。


生成之后,就到了刚刚的点击查询,新建查询咯,新建完成之后,点击运行就ok了
 

二、若依生成代码

使用的是若依框架的小伙伴有福了,没有使用的往后看下一步骤,跳过此步骤

这样就生成了一个,类似于模态框关闭之后的那个表格的效果,这样根据需求,修改字段,增删改查就OK了

注意每次都编辑一下,看下生成的名字和模块再去点击生成代码。生成业务名字和菜单一定要看下

然后就可以点击生成代码,去直接CV覆盖咯。

上述是生成的前后端代码,直接去添加到项目里面的,main是后端的JAVA代码 

sql直接拖到Navicat去找到对应的库运行就好啦

vue直接打开有api文件,放到对应的位置,vue页面放到对应的位置

main必须放在对应的模块下,我用的是ruoyi-system,记住,直接拖到src文件夹下覆盖,虽然有时候会出现奇怪的报错,但是不能手动删除它,不然剁手吧。

完成上述操作,直接重新运行IDEA和前端的,你会发现增删改查已经完成了。

三、自己写接口的看来咯

哪有小孩天天哭,哪有接口都能生成?那JAVA工程师==优化?(开玩笑,勿喷,我错了)

还是和上面一样,找到Navicat,如图所示

选择仅结构,然后到页面用文本打开,复制到AI,这么说哦

我的示例是为了写个echarts分析

这是我的数据库表结构,我想查询义务教育和高中对应的班级数量,义务教育包括一年级到初三,高中包括高一到高三,帮我写出sql语句:CREATE TABLE `class_management_copy1` ( `class_id` bigint NOT NULL AUTO_INCREMENT COMMENT '班级ID', `grade` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '年级', `class_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '班级名称', `del_flag` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '创建者', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`class_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 37 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '班级管理表' ROW_FORMAT = DYNAMIC;

语句是这样的: 这是我的数据库表结构 。。。。帮我写出sql语句:粘贴的代码

ai回复:

SELECT 
    CASE 
        WHEN grade IN ('一年级', '二年级', '三年级', '四年级', '五年级', '六年级', '初一', '初二', '初三') THEN '义务教育'
        WHEN grade IN ('高一', '高二', '高三') THEN '高中'
        ELSE '其他'
    END AS education_level,
    COUNT(*) AS class_count   
FROM 
    class_management_copy1   
WHERE 
    del_flag = '0'  -- 只统计未删除的班级   
GROUP BY 
    education_level;

到查询,新建查询,运行,先检查一下对不对(不废话了)

然后保证正确的情况下,去AI

顺便打开IDEA,复制点东西,在ai输入框输入这么一段话:

是从你当前模块里面找到差不多的结构代码,去让ai根据你这个生成代码

这是我的controller的代码:

@PreAuthorize("@ss.hasPermi('system:student:remove')")
@Log(title = "学生管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(studentManagementService.deleteStudentManagementByIds(ids));
}

这是service代码(快捷键Ctrl+鼠标左键):public int deleteStudentManagementByIds(Long[] ids);

这是serviceimpl代码(快捷键Ctrl+alt+b跳转):

@Override
public int deleteStudentManagementByIds(Long[] ids)
{
return studentManagementMapper.deleteStudentManagementByIds(ids);
}

这是mapper代码(快捷键Ctrl+alt+b跳转):public int deleteStudentManagementByIds(Long[] ids);

这是xml代码(快捷键Ctrl+alt+b跳转):

<delete id="deleteStudentManagementByIds" parameterType="String">
delete from student_management where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>帮我按照这个格式,生成这个sql的查询java代码:SELECT 
    CASE 
        WHEN grade IN ('一年级', '二年级', '三年级', '四年级', '五年级', '六年级', '初一', '初二', '初三') THEN '义务教育'
        WHEN grade IN ('高一', '高二', '高三') THEN '高中'
        ELSE '其他'
    END AS education_level,
    COUNT(*) AS class_count   
FROM 
    class_management_copy1   
WHERE 
    del_flag = '0'  -- 只统计未删除的班级   
GROUP BY 
    education_level;

刚刚上面ai回复的内容

上面红色的字体只是说明作用,不用给ai。

这是ai的回复,找到对应的模块,直接CV就好啦,报错的话,根据报错信息投喂给ai,然后他会告诉你咋解决的。

四、前端如何调用

找到controller.java模块,你刚才CV的代码在哪里?有个

这就是前端api封装的名字了,我的示例是averageMetrics。

如图:

我生成的是在student.js里面写的,各位看官根据自己的来,前端的不教了,别卷我一个小小的切图崽了。

以上就是本期的全部内容的,您的支持是小凯更新最大的动力,加油,迟早前后端分离人不分离!!!

喜欢请一波三连

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值