Jeecg开发框架前端VUE2数据页面与后端数据库交互实现

这篇具有很好参考价值的文章主要介绍了Jeecg开发框架前端VUE2数据页面与后端数据库交互实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.Jeecg介绍

JeecgBoot 是一款基于代码生成器的低代码开发平台,零代码开发!采用前后端分离架构:SpringBoot2.x,Ant Design&Vue,Mybatis-plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! JeecgBoot引领新的开发模式(Online Coding模式-> 代码生成器模式-> 手工MERGE智能开发), 帮助解决Java项目70%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省成本,同时又不失灵活性!JeecgBoot还独创在线开发模式(No代码概念):在线表单配置(表单设计器)、移动配置能力、工作流配置(在线设计流程)、报表配置能力、在线图表配置、插件能力(可插拔)等等!

jeecg 框架,前端,数据库,低代码

JeecgBoot在提高UI能力的同时,降低了前后分离的开发成本,JeecgBoot还独创在线开发模式(No代码概念),一系列在线智能开发:在线配置表单、在线配置报表、在线图表设计、在线设计流程等等。
JEECG宗旨是:简单功能由Online Coding配置实现(在线配置表单、在线配置报表、在线图表设计、在线设计流程、在线设计表单),复杂功能由代码生成器生成进行手工Merge,既保证了智能又兼顾了灵活;
业务流程采用工作流来实现、扩展出任务接口,供开发编写业务逻辑,表单提供多种解决方案: 表单设计器、online配置表单、编码表单。同时实现了流程与表单的分离设计(松耦合)、并支持任务节点灵活配置,既保证了公司流程的保密性,又减少了开发人员的工作量。

1.1 项目介绍

  • 官方网站: http://www.jeecg.com
  • 版本日志: http://jeecg.com/doc/log
  • 新手指南: 快速入门 | 视频教程 | 常见问题 | 技术支持 | 1分钟体验低代码

1.2 Vue3版本

  • 源码下载:前端Vue3源码 | 后台源码
  • 开发文档:http://help.jeecg.com
  • 在线演示 : Vue3版本 | 零代码体验
  • 入门视频:https://www.bilibili.com/video/BV1V34y187Y9

1.3 Vue2版本

  • 源码下载: 前端Vue2源码 | 后台源码
  • 在线演示 :http://boot.jeecg.com
  • 开发文档: http://doc.jeecg.com

1.4 前端开发

  • 前端UI组件: Ant Design of Vue
    https://www.antdv.com/docs/vue/introduce
  • 报表UI组件:viser-vue
    https://viserjs.gitee.io/demo.html#/viser/bar/basic-bar
  • VUE基础知识: https://cn.vuejs.org/v2/guide
  • Ant Design Vue Pro:https://pro.loacg.com/docs/getting-started

1.5 技术架构

后端技术:Spring Boot 2.6.6 + SpringcloudAlibaba2021.1 +MybatisPlus 3.5.1 + Shiro 1.8.0+ Jwt 3.11.0 
          + Swagger + Redis 
前端技术: Ant-design-vue + Vue + Webpack
其他技术: Druid(数据库连接池)、Logback(日志工具) 、poi(Excel工具)、
          Quartz(定时任务)、lombok(简化代码)
项目构建: Maven、Jdk8

2.表单开发

2.1 创建表单

在jeecg的侧边栏中找到这一项。

jeecg 框架,前端,数据库,低代码

点击新增创建数据库。

jeecg 框架,前端,数据库,低代码

​ 填写数据库的基本信息–表名与表描述,如果有其他需求可按需修改下面的字段。

jeecg 框架,前端,数据库,低代码

2.2 添加字段

在下方数据库属性一栏中点击新增就能添加字段。记得添加农场(公司),年份

jeecg 框架,前端,数据库,低代码

​ 按表头给出的信息填写字段信息,比较关键的是按你的需求修改数据字段的类型,Double类型还需注意添加小数点的位数,由于我需要的计算精度比较高,我这边设置了4。

jeecg 框架,前端,数据库,低代码

注意:如果您像我一样,需要在后端调用不同的算法,及得像我一样添加一个字段专门用来判断使用哪一个算法。

jeecg 框架,前端,数据库,低代码

2.3 下拉字段

一些用来进行筛选计算的字段,可以在页面属性值这一栏里控件类型修改成下拉框。

jeecg 框架,前端,数据库,低代码

2.4 同步数据库

​ 当你点确认后,你会发现下方表单中多出了一栏,并且还未同步,这时就要点击右边的更多中的同步数据库选项,将数据真正的创建到服务器中。

jeecg 框架,前端,数据库,低代码

3.代码生成

3.1 一键生成

在表单开发里选择,选中需要生成代码的表单,点击代码生成。

jeecg 框架,前端,数据库,低代码

填写需要生成的目录(目录选择到模块名即可jeecg会补全路径)以及生成的包名。

jeecg 框架,前端,数据库,低代码

3.2 前后分离

生成代码后你会发现你的项目中多了,一个刚刚生成的包,其中的包结构如下:

jeecg 框架,前端,数据库,低代码

​ 只有后面两个是后端的代码,其中由于vue3对于某些浏览器不适用,考虑到项目的兼容性,这边选择vue作为前端,vue3这个文件夹可以删除。其中vue中这个这个文件是多余的删除即可。

jeecg 框架,前端,数据库,低代码

再将vue文件夹名称改成项目名称forest2复制到jeecg的前端src/views/目录底下即可

jeecg 框架,前端,数据库,低代码

4.系统管理

4.1 添加字典

点击侧边栏找到系统管理下的数据字典。

jeecg 框架,前端,数据库,低代码

再和之前一样找到添加按钮,添加数据字典。关键是这个字典编码要记住,后面需要用到。

jeecg 框架,前端,数据库,低代码

然后就是添加字典配置,不断点新增填写您需要的字段即可。

jeecg 框架,前端,数据库,低代码

4.2 菜单管理

找到系统管理中的菜单管理。

jeecg 框架,前端,数据库,低代码

在你想要的位置添加下级目录。

jeecg 框架,前端,数据库,低代码

这里有两个需要注意的是菜单路径和前端组件,菜单路径是之前生成的前段代码的/包名/Forest2List,前端组件需要把前面的/去掉即可。

jeecg 框架,前端,数据库,低代码

4.3 角色管理

找到系统管理中的角色管理

jeecg 框架,前端,数据库,低代码

由于你是开发者登录的因此找到管理员这一角色,将刚刚创建好的菜单授权给管理员。

jeecg 框架,前端,数据库,低代码

勾选刚刚新建好的碳汇造林,并点保存并关闭就授权成功了。

jeecg 框架,前端,数据库,低代码

4.4 测试页面

由于修改的后端的代码,则需要重启后端项目后,刷新页面就可以看到我们新建好的表单。

jeecg 框架,前端,数据库,低代码

如果能够正常显示表单就表示创建成功!

5.1前端代码

5.1 Forest1List.vue

​ 该文件通常用于列表展示的组件,可以显示数据列表、分页等。在vue中,使用list.vue可以方便地实现对数据的展示和管理。

jeecg 框架,前端,数据库,低代码

5.1.2 添加按钮

我们需要再高级查询前面加一个筛选计算的按钮。

jeecg 框架,前端,数据库,低代码

因此,需要在下面这个位置插入这样的一行。注意:下面的####代表包名,大家按需调整。

<a-button type="primary" @click="####()">筛选计算</a-button>

jeecg 框架,前端,数据库,低代码

5.1.3 复制模型

将这两个弹框模型文件复制分并改为Shai####FormShai####Modal的形式代表筛选计算的弹框页面。

jeecg 框架,前端,数据库,低代码

5.1.3 导入模型

在脚本标签下首先会导入许多文件,在这下面我们再导入我们的模型。

jeecg 框架,前端,数据库,低代码

import Shai####Modal from './modules/Shai####Modal'
5.1.4 填入组件

在这个位置把刚刚导入的模型添加到组件里。注意:组件与组件之间要用逗号隔开!!!

jeecg 框架,前端,数据库,低代码

Shai####Modal #组件名称
5.1.5 添加事件

再回到刚刚前面的模板标签<template>末尾,找到弹框点击事件,在上面添加自定义的弹框事件。

jeecg 框架,前端,数据库,低代码

<shai-####-modal ref="Shai####Modal" @ok="modalFormOk"></shai-####-modal>
5.1.6 添加方法

在脚本标签往下找,就能找到定义函数的位置,在后面添加自定义函数。同样注意添加逗号!

jeecg 框架,前端,数据库,低代码

####: function (record) {
        this.$refs.Shai####Modal.edit(record);
        this.$refs.Shai####Modal.title = "筛选";
        this.$refs.Shai####Modal.disableSubmit = false;
      },

5.2 ShaiForest1Modal

modal.vue通常用于实现弹出框(Modal)的功能,例如提示框、确认框、错误框等

5.2.1 导入表单

跟之前一样在脚本标签下导入表单文件。由于这个文件是复制得来的得把原本导入的表单文件覆盖掉。

jeecg 框架,前端,数据库,低代码

import Shai####Form from './Shai####Form'
5.2.2 填入组件

跟之前一样在组件中填写导入的文件。注意这个对原本的组件也是要覆盖掉的。

jeecg 框架,前端,数据库,低代码

Shai####Form
5.2.3 添加事件

同样再回到刚刚前面的模板标签<template>末尾,找到弹框点击事件,覆盖带哦原本的弹框事件。

jeecg 框架,前端,数据库,低代码

<shai-####-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></shai-forest1-form>

5.3 ShaiForest1Form

Form.vue通常用于实现表单(Form)的功能,通过绑定表单元素的数据模型来实现表单数据的获取和提交。

5.3.1 删除多余

对于筛选计算无用的则将多余的字段删除。

jeecg 框架,前端,数据库,低代码

5.3.2 添加接口

首先,在后端控制层最后添加接口方法。

jeecg 框架,前端,数据库,低代码

@RequestMapping(value = "select")
public Result forest1Select(@RequestBody #### ####) {
	return null;
}

然后在前端的url中添加连接接口。注意逗号!

jeecg 框架,前端,数据库,低代码

select: "/####/####/select"
5.3.3 修改函数

这个函数是将前端的表单提交到后端并返回结果的这要实现按钮的功能需要微调函数。

jeecg 框架,前端,数据库,低代码

第一处修改为:

if(!this.model.id){
	httpurl+=this.url.select;
	method = 'post';
}else{
	httpurl+=this.url.select;
	method = 'put';
}

第二处修改为:

that.$emit('ok');
alert(res.result);

6.后端代码

6.1 Mapper

首先在接口文件中写好需要的抽象函数。

jeecg 框架,前端,数据库,低代码

图6.1.1 目录结构
    List<Forest1> forest1Select(Forest1 forest1);

    Forest1 forest1ById(String ids);

再在xml配置文件中写入抽象函数的SQL映射。注意:筛选计算中where语句的字段需按需修改!

    <select id="forest1Select" resultType="org.jeecg.modules.forest1.entity.Forest1">
        select *
        from forest1
        where
        1 = 1
        <if test="tree != null and tree != ''">
            and tree like concat("%",#{tree},"%")
        </if>
        <if test="farm != null and farm != ''">
            and farm like concat("%",#{farm},"%")
        </if>
        <if test="year != null and year != ''">
            and year = #{year}
        </if>
    </select>
    <select id="forest1ById" resultType="org.jeecg.modules.forest1.entity.Forest1">
        select *
        from forest1
        where id = #{ids}
    </select>

6.2 Service

首先在接口文件中写好需要的抽象函数。

jeecg 框架,前端,数据库,低代码

图6.2.1 文件结构
	Double ctreeprojListService(Forest1 forest1);

	Double forestSelectById(List<String> ids, String method);

然后再实现类中将所有抽象函数实现。并在最前面连接上映射层。

连接:

    @Autowired
    Forest1Mapper forest1Mapper;

实现:

        
		List<Forest1> F = forest1Mapper.forest1Select(forest1);
        if (F.size() > 0) {
            Forest1Sequestration f = new Forest1Sequestration(F);
            return f.getCtreeproj_it();
        }
        return null;

        List<Forest1> for1 = new ArrayList<>();
        for (int i = 0; i < ids.size(); i++) {
            for1.add(forest1Mapper.forest1ById(ids.get(i)));
        }
        if (for1.size() > 0) {
            Forest1Sequestration f = new Forest1Sequestration(for1);
            MethodReflect.invoke(f, method, null);
        }
        return null;

6.3 Enity

jeecg 框架,前端,数据库,低代码

还记得我们之前写的字典编码么?我们现在就要在前后端中将字典编码填入到特定字段中。

后端:

在设置了下拉框选项的字段上面写入下面这两行,其中空字符串需要换成你的字典编码。

@Excel(name = "计算方式", width = 15, dicCode = "fotestComute")
@Dict(dicCode = "fotestComute") 

jeecg 框架,前端,数据库,低代码

前端:

Shai####Form中找到,由<a-col>包裹的下拉框字段。在其中的dictCode中填入字典编码。

jeecg 框架,前端,数据库,低代码

6.4 Controlloer

在之前写好查询计算接口和勾选计算接口中,就可以实现前端按钮点击调用后端算法了。文章来源地址https://www.toymoban.com/news/detail-670386.html

    @RequestMapping(value = "select")
    public Result forest1Select(@RequestBody Forest1 forest1) {
        if (forest1.getFarm() == null && forest1.getYear() == null && forest1.getTree() == null) {
            return Result.OK("请填写至少一种筛选方式");
        }
        if (forest1.getFunctional() == null) {
            return Result.OK("请选择计算方式");
        }
        Object[] args = {forest1};
        Object forest1Out = MethodReflect.invoke(forest1Service, forest1.getFunctional(), args);
        if (forest1Out == null) {
            return Result.OK("您的输入有误");
        }
        return Result.OK(forest1Out);
    }

    @RequestMapping(value = "/SelectById")
    public Result SelectById(String ids, String method) {
        Double forid = forest1Service.forestSelectById(Arrays.asList(ids.split(",")), method);
        return Result.OK(forid);
    }

到了这里,关于Jeecg开发框架前端VUE2数据页面与后端数据库交互实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue2 +Element-ui实现前端页面

    以一个简单的前端页面为例。主要是利用vue和element-ui实现。 里面涉及的主要包括:新建vue项目、一行多个输入框、页面实现等。   ①首先安装nodejs,这部分在此就不讲啦。 ②然后安装vue-cli: 查看是否安装成功: 安装成功之后就输出vue的版本 ③在cmd窗口新建一个vue2脚手架

    2024年02月16日
    浏览(44)
  • 前端实现websocket通信讲解(vue2框架)

    前言 :最近接到的需求是前端需要实现一个全局告警弹窗,如果使用ajax请求http接口只能用定时器定时去请求是否有告警,这样既消耗资源,又不能实时监测到告警信息。所以这个时候就可以采用websocket来实现通信,因为websocket不用请求一次才响应一次,它可以实现服务器主

    2024年02月12日
    浏览(36)
  • vue(32) : win10创建vue2基础前端框架

    vue2 element-ui axios 含接口调用示例 开发工具为HBuilderX 3.7.3 等待创建项目 代理后端配置如下, 三个test改成相同的uri前缀即可, uri该签注会代理到后端 proxy: {       // 代理test开头的uri       \\\'/test\\\': {         target: \\\'http://192.168.1.1:8080\\\', // 后端地址         changeOrigin: true, // 开启代

    2024年02月06日
    浏览(39)
  • 快速搭建前端页面并与后端交互

    前置: 需要先包含node环境 如果没有,可去node官网下载一个并配置 node官网地址:https://nodejs.org/zh-cn/ 1.1 vue脚手架 检测是否有node环境,如果没有则去node官网下载配置【进入cmd执行以下命令】 安装vue脚手架 创建项目 如果当前文件夹已经存在会提示Target directory exists. Continue

    2024年02月04日
    浏览(41)
  • 关于前端框架vue2升级为vue3的相关说明

    一些框架需要升级 当前(202306) Vue 的最新稳定版本是 v3.3.4 。Vue 框架升级为最新的3.0版本,涉及的相关依赖变更有: 前提条件:已安装 16.0 或更高版本的Node.js(摘) 必须的变更:核心库vue@23、路由vue-router@34、状态管理vuex@34 构建工具链: Vue CLI Vite(摘) 状态管理: Vuex Pi

    2024年02月15日
    浏览(50)
  • Vue系列第四篇:Vue2 + Element开发登录页面

           Vue开发中Element是一个比较受欢迎的界面库,实际开发中Vue2搭配Element UI开发,Vue3搭配Element plus开发,今天就用Vue2 + Element来开发登录页面。 目录 1.Element UI介绍 1.1官网 1.2element-ui安装 2.开发环境准备 2.1core-js安装 2.2浏览器自动打开和关闭useEslint校验配置 2.3Element UI全局

    2024年02月16日
    浏览(48)
  • ❤ 全面解析若依框架vue2版本(springboot-vue前后分离--前端部分)

    一般在vue项目public文件夹下命名为“favicon.ico” ❤ 处理步骤 第1步:将图标重命名为“favicon.ico”,并放在项目根目录 下。 第2步:然后在index.html中引入,title中修改页面标题。 第3步:修改build文件夹下 webpack .dev.conf.js和webpack.prod.conf.js文件中的内容。 第五步:重新已经成功

    2024年02月12日
    浏览(56)
  • 从Vue2到Vue3, 一键升级前端开发技能

    本文的目的,是为了让已经有 Vue2 开发经验的   人   ,快速掌握 Vue3 的写法。 因此,   本篇假定你已经掌握 Vue 的核心内容   ,只为你介绍编写 Vue3 代码,需要了解的内容。 首先,Vue3 新增了一个叫做组合式 api 的东西,英文名叫 Composition API 。因此 Vue3 的  script  现在支

    2024年02月08日
    浏览(75)
  • vue2组件库:表格数据展示通用页面

    2024年02月11日
    浏览(35)
  • 【前端】Vue2 脚手架模块化开发 -快速入门

    🎄欢迎来到@边境矢梦°的csdn博文🎄  🎄本文主要梳理Vue2 脚手架模块化开发 🎄 🌈我是边境矢梦°,一个正在为秋招和算法竞赛做准备的学生🌈 🎆喜欢的朋友可以关注一下 🫰🫰🫰 ,下次更新不迷路🎆 Ps: 月亮越亮说明知识点越重要 (重要性或者难度越大)🌑🌒🌓🌔🌕

    2024年02月10日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包