SpringBoot版的低代码开发平台,关联无 SQL - 第462篇

历史文章(文章累计450+)

《国内最全的Spring Boot系列之一》

《国内最全的Spring Boot系列之二》

《国内最全的Spring Boot系列之三》

《国内最全的Spring Boot系列之四》

《国内最全的Spring Boot系列之五》

《国内最全的Spring Boot系列之六》

(我阳了)SpringBoot3正式版于11月24日发布:都有哪些新特性?- 第456篇

SpringBoot3初体验 - 第457篇

定一个小目标,先赚他1个亿(ChatGPT可能要替代你的工作了)

我也来玩一玩OpenAI ChatGPT,人工智能时代终究会来临 - 第459篇

SpringBoot使用ChatGPT Api开发一个聊天机器人 - 第460篇

Idea启动多个SpringBoot项目的3种方案

Web 开发需要一个普适的基础框架,把复杂的问题简单化,最好还能做到更佳性能,规避常见的坑。

程序员很难被替代,但程序员应该聚焦于数据结构设计、业务实现、难点解决,重复 CRUD 没啥长进。

diboot设计目标: 为开发人员打造的低代码开发平台,将复杂的工作简单化、重复的工作自动化,提高质量、效率、可维护性。

用上diboot,告别常规SQL和CRUD,写的更少,性能更好!

一、diboot说明书

1.1 相关资料

diboot源代码:

https://gitee.com/dibo_software/diboot

体验diboot的demo示例:

https://www.diboot.com/guide/beginner/bootstrap.html#_1-克隆playground项目

diboot 系列视频教程

https://www.diboot.com/guide/beginner/video.html#视频教程介绍预览

体验地址:

http://demo.diboot.com/dashboard/index

1.2 版本说明

截止到2023年3月3日的版本信息:

(1)源代码使用Spring Boot版本:2.7.8

(2)Node推荐版本:node版本选择v14.x,以避免兼容性问题

二、diboot介绍

2.1 diboot是什么?

2.2诞生背景

当行业步入成本高、人才缺、效率低的阶段,必然带来的一个变革就是自动化,IT行业也不例外。这也是低代码/无代码这个概念近几年被引爆的原因。面对群魔乱舞的无代码们,我们也曾动摇过:那些给业务人员用的无代码会是软件开发的未来吗?程序员会被取代吗?

当我们深入使用了某些无代码平台后,我们坚定了自己的判断:程序员是不可替代的,无代码是个高度场景预设的产物。信息化已经过了普及阶段,用户对软件的要求越来越高,需求也越来越复杂。诚然你可以用无代码实现大部分简单需求,但对于剩下的复杂需求,你需要付出数倍于传统开发的代价才能勉强实现。

不可取代并不代表可以高枕无忧,传统的开发框架复杂繁琐,开发和维护都很难提效,低代码时代需要一个新的框架体系来给开发人员赋能。这就是Diboot诞生的使命,她介于pro-code与low-code之间,赋能开发者,实现开发过程的提质提效。

2.3设计理念

lWeb开发需要一个普适的基础框架,把复杂的问题简单化,最好还能做到更佳性能,让开发人员避开常见问题

l程序员很难被替代,但程序员应该聚焦于数据结构设计、业务实现、难点解决,提高解决问题的能力(未来竞争力)

l低代码是未来的趋势,CRUD类重复有规律的工作应该交给工具去做

2.4使用场景

推荐使用姿势:

l无历史包袱的新项目:推荐使用diboot整套解决方案(基础框架+工具)

n单体应用简单业务场景: spring boot 版本 + devtools

n微服务复杂业务场景: spring cloud 版 + devtools

n工作流业务场景: diboot-workflow 工作流 + devtools

lmybatis-plus老项目改造

n只集成diboot-core,使用关联数据绑定等核心能力(不使用diboot的字典表及字典绑定)

n或只集成diboot-core-starter,使用关联数据绑定等核心能力(及diboot的字典表及字典绑定)

lmybatis老项目

n不建议改造了,继续维护吧

2.4 diboot体系架构图

2.5 core内核简介

高效精简内核,重构查询方式,简化开发、提高性能,主要特性:

1)单表CRUD无SQL

2)关联数据绑定无SQL(注解自动绑定)

3)关联字典无SQL(注解自动绑定)

4)查询条件构建无SQL(查询条件自动构建)

5)BaseService扩展增强,支持常规的单表及关联开发场景接口

6)数据范围权限、工具类的最佳实践封装

三、体验diboot

官网提供了一个案例playground,代码仓库:

https://gitee.com/dibo_software/playground

3.1 下载代码

将仓库上的的代码进行下载到本地,然后导入到idea开发工具:

项目代码说明:

(1)demo项目为PC端后端rest接口示例,mobile-demo项目为移动端后端rest接口示例。

(2)后端项目启动后从控制台链接进入devtools后需先生成diboot组件的基础代码

如启动前端出现无法显示验证码,检查是否生成了各组件的基础代码并重启了demo项目

(3)diboot-antd-admin 和 diboot-element-admin 为两个前端项目,实际体验中根据个人习惯选择一个即可

注: 默认devtools生成的前端路径指向antd,如果选择element,则需修改application-dev.properties中的diboot.devtools.output-path-frontend参数指向element。

3.2 修改数据源

修改application-dev.properties的数据源配置:

项目代码说明:

(1)demo项目为PC端后端rest接口示例,mobile-demo项目为移动端后端rest接口示例。

(2)后端项目启动后从控制台链接进入devtools后需先生成diboot组件的基础代码

如启动前端出现无法显示验证码,检查是否生成了各组件的基础代码并重启了demo项目

(3)diboot-antd-admin 和 diboot-element-admin 为两个前端项目,实际体验中根据个人习惯选择一个即可

注: 默认devtools生成的前端路径指向antd,如果选择element,则需修改application-dev.properties中的diboot.devtools.output-path-frontend参数指向element。

3.2 修改数据源

修改application-dev.properties的数据源配置:

#datasource configspring.datasource.url=jdbc:mysql://localhost:3306/playground?characterEncoding=utf8&serverTimezone=GMT%2B8spring.datasource.username=rootspring.datasource.password=rootspring.datasource.hikari.maximum-pool-size=5spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver

对应本地的数据库账号和密码,另外手动创建一个数据库playground。

3.3 启动应用

启动应用,成功的话,可以看到自动创建的表信息:

3.5 启动前端

l安装node运行环境 (node版本选择v14.x,以避免兼容性问题)

l切换到对应的前端路径下,依次运行以下命令,安装依赖组件及运行前端:

# yarn(推荐)yarn installyarn run serve# 或者 npmnpm installnpm run serve

启动成功后,打开链接进入前端,输入账号: admin/123456 登录系统,即可进入管理后台。

http://localhost:9528/#/login?redirect=%2Fdashboard

体验地址:

http://demo.diboot.com/dashboard/index

四、项目中使用biboot

在项目中如何使用biboot呢 ?

4.1 添加依赖

首先在pom.xml文件中添加依赖:

<dependency>    <groupId>com.diboot</groupId>    <artifactId>diboot-core-spring-boot-starter</artifactId>    <version>{latestVersion}</version></dependency>

4.2配置参数(数据源)

以Mysql为例,配置数据源如下:

#datasource configspring.datasource.url=jdbc:mysql://localhost:3306/diboot_example?characterEncoding=utf8&serverTimezone=GMT%2B8spring.datasource.username=dibootspring.datasource.password=123456spring.datasource.hikari.maximum-pool-size=5spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver

注:@BindDict注解需要依赖dictionary表,diboot-core starter 初次启动时会自动创建该表。

diboot-core-spring-boot-starter的可选参数配置:

# 是否初始化sql,默认true,初始化之后(或非开发环境)可以改为false关闭检测diboot.core.init-sql=false

4.3配置config类:

diboot-core-starter默认预置了mybatis-plus的分页配置(使用mybatis-plus 3.4.x的MybatisPlusInterceptor最新配置方式)。如果您依赖的是core-starter,则无需再次配置mybatis-plus的分页。如果需要添加其他Interceptor,则需要重新定义MybatisPlusInterceptor。示例如下:

@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();    interceptor.addInnerInterceptor(new PaginationInnerInterceptor());    return interceptor;}

4.4 基础封装-Mapper

Mapper类需要继承diboot-core中的BaseCrudMapper基础类,并传入相对应的实体类,如:

import com.diboot.core.mapper.BaseCrudMapper;import org.apache.ibatis.annotations.Mapper;@Mapperpublic interface DemoMapper extends BaseCrudMapper<Demo> {}

对于BaseCrudMapper好像有特殊的,继承了MyBatis-Plus的BaseMapper:

4.5 基础封装-Service

对于entity对应的service,推荐继承diboot-core中封装好的BaseService接口及BaseServiceImpl实现,以使用diboot针对关联等场景的增强扩展接口。

import com.diboot.core.service.BaseService;public interface DemoService extends BaseService<Demo> {}

BaseService类具备mybatis-plus中的IService接口大多数接口,但并没有继承IService,如果需要使用IService接口,可单独继承IService类.

总结

diboot集成了很多常规的功能,是很强大,但要使用的话,是要研究官网的API文档的,不然实际项目使用中肯定会采坑的。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手把手的教你安装PyCharm --Pycharm安装详细教程(一)(非常详细,非常实用)

简介 Jetbrains家族和Pycharm版本划分: pycharm是Jetbrains家族中的一个明星产品,Jetbrains开发了许多好用的编辑器,包括Java编辑器(IntelliJ IDEA)、JavaScript编辑器(WebStorm)、PHP编辑器(PHPStorm)、Ruby编辑器(RubyMine)、C和C++编辑器(CLion)、.Net编辑器…

清华大模型人才遭哄抢!盘点5大学术重镇10大产业玩家

衡宇 发自 凹非寺量子位 | 公众号 QbitAI 做类ChatGPT产品&#xff0c;组中国版OpenaAI恐怕是先当下最最人尽皆知的创投野心。 有人官宣标榜放话&#xff0c;也有VC开始把视角投向产学研转换的大模型项目——或许能更有基础一些&#xff0c;其中&#xff0c;清华大学显然处于身…

ChatGPT能取代多少程序员

“去年年底&#xff0c;我看到大佬们都在分享ChatGPT相关的内容&#xff0c;一开始我以为还是资本和大佬fomo的玩具&#xff0c;但是经过使用、和朋友交流&#xff0c;加上自己的研究&#xff0c;我确信ChatGPT模型是革命性的。”樊高曾在国内大厂做过后端工程师&#xff0c;离…

SpringBoot 整合 ChatGPT API 项目实战,挣了3K!

大家好&#xff0c;我是老赵 体验到了ChatGPT的强大之后&#xff0c;那么我们会想&#xff0c;如果我们想基于ChatGPT开发一个自己的聊天机器人&#xff0c;这个能搞定吗&#xff1f; ChatGPT平台已经为技术提供了一个入口了&#xff0c;很简单的就是实现了。 一、准备工作 &am…

【Notion AI 功能试用】写作修改、润色、总结、翻译效果

Notion AI 产品试用 软件连接 https://www.notion.so/product/ai?refgodly 国内可用&#xff0c;不屏蔽。 我的感觉它是一个方便生成博客文字的东西。没有用ChatGPT接口。 根据 Notion 官方介绍&#xff0c;Notion AI 的几个核心功能&#xff1a;写作、改写、总结、修正、提…

基于java的CRM客户关系管理系统的设计与实现

本科毕业设计(论文) 题 目&#xff1a; 基于java的CRM客户关系管理系统的设计与实现 专题题目&#xff1a; 说 明 请按以下顺序编排&#xff1a; 封面 任务书 开题报告 中外文摘要及关键词 目录 正文 附录&#xff08;可选&#xff09; 参考文献 外文资料&#xff08;可选&…

导航、开源镜像、Prompt ( AI 提示词 )、AI工具集、chatgpt镜像

1、导航 网站 众多网址导航中&#xff0c;哪个最好&#xff1f;理由是什么&#xff1f; &#xff1a;https://www.zhihu.com/question/19899559 除了百度&#xff0c;其他搜索引擎&#xff1a; 综合类搜索导航(Anywhere Anything)&#xff1a;http://lackar.com/aa/ 渗透师 导…

Docker的使用教程、学习笔记,附实战:部署chatgpt网页版ui,部署mysql8数据库

作者&#xff1a;ChenZhen 博客地址&#xff1a;https://www.chenzhen.space/ 版权&#xff1a;来自b站视频 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 因为黑马的课件ppt做的实在是太好了&#xff…

软件工程实践-软件评测

2023春软件工程实践2023年福大-软件工程实践-W班社区-CSDN社区云这个作业要求在哪里软件工程实践——软件评测作业-CSDN社区这个作业的目标调研评测InsCode&#xff0c;IT屋&#xff0c;Online Compiler and IDE其他参考文献构建之法 文章目录 1. 产品调研1.1 InsCode1.1.1 体验…

AI智能编程工具Cursor使用介绍

快捷导航 一、简介二、使用体验2.1 让它写一个单例类&#xff0c;并让它不断改进2.2 做一道力扣算法题 三、安装使用3.1 下载-安装-注册3.2 使用3.3 怎么设置中文显示3.4 导入工程3.5 创建Maven项目 四、结语 一、简介 为使用人工智能编程而构建的编辑器&#xff0c;一款人工智…

给大家推荐一款ChatGPT国产IDE插件【TalkX】真的好用!

什么是TalkX&#xff1f; 今天给大家分享一款基于 ChatGPT / GPT 的开发插件&#xff1a;TalkX&#xff0c;它目前可以在 JetBrains&#xff08;IntelliJ IDEA、PyCharm&#xff09;、VS Code、HBuilder 这些开发软件的插件市场下载安装。 TalkX 据说是由国内多年互联网经验团…

打造中国版 ChatGPT,清华大模型人才遭哄抢!盘点国内5大学术团队10大产业玩家...

来源&#xff1a;量子位 做类ChatGPT产品&#xff0c;组中国版OpenaAI恐怕是先当下最最人尽皆知的创投野心。 有人官宣标榜放话&#xff0c;也有VC开始把视角投向产学研转换的大模型项目——或许能更有基础一些&#xff0c;其中&#xff0c;清华大学显然处于身负众望的头一梯队…

软件工程实践——软件评测作业

这个作业属于哪个课程2023春季软件工程&实践w班这个作业要求在哪里软件工程实践——软件评测作业这个作业的目标学会对产品进行调研评测与分析&#xff0c;并给出建议和规划其他参考文献《构建之法》、软件工程 案例分析作业 文章目录 第一部分 调研&#xff0c;评测&#…

AI歌手会成为发展的主流吗

文章目录 背景一、什么是AI音乐&#xff1f;它可以做什么&#xff1f;二、AI歌手的音乐听起来是如何的&#xff1f;三、这种新型演艺模式能否获得广泛的市场认可&#xff1f;原因是什么&#xff1f;四、你所了解到的这类AI应用还有哪些呢&#xff1f;可以分享一下。 背景 前文…

全国首份AIGC产业全景报告发布!53页108MB,中国50大值得关注的AIGC公司浮出水面...

文章转自&#xff1a;量子位 全国首份AIGC产业全景报告&#xff0c;主打硬核干货&#xff0c;它来了&#xff01; 2023年&#xff0c;被称作ChatGPT元年&#xff0c;ChatGPT现世至今&#xff0c;AIGC这把火彻底点燃了全世界。 巨头们卡着对手的时间点&#xff0c;争相发布新产品…

首份中国AIGC产业全景报告发布!三大类玩家,四种商业模式,万亿规模市场,还有最值得关注50家企业...

组委会 发自 凹非寺量子位 | 公众号 QbitAI 是时候给出一份全面的洞察结果了—— 行业首份AIGC产业全景报告&#xff0c;主打硬核干货&#xff0c;它来了&#xff01; 2023年&#xff0c;被称作ChatGPT元年&#xff0c;ChatGPT现世至今&#xff0c;AIGC这把火彻底点燃了全世界。…

AI的发散性思维

发散性思维是指一种能够产生多种可能性和创意的思维方式&#xff0c;通常是在没有特定限制或预设答案的情况下进行的。它是与收敛性思维相对的&#xff0c;收敛性思维是一种更加重视逻辑、分析和解决问题的思维方式。 在当今科技高速发展现状下&#xff0c;单一性的思维在商业上…

AI绘画进军三次元,有人用它打造赛博女友?(diffusion)

目录 1 AI绘画技术飞跃2 效果展示3 环境配置3.1 下载基础模型3.2 更新.NET和模型3.3 下载绘画模型3.4 启动项目3.5 标签配置 4 结语 1 AI绘画技术飞跃 近期&#xff0c;人工智能技术的发展似乎反复出圈。AI绘画、AI编曲、AI写代码、AI对话等概念不断走入大众的视野&#xff0c…

AI生成和修改音频音乐类工具网站集合

AI时代&#xff0c;有最强问答ChatGPT,有文本生成图像的Stable Diffusion,Midjourney&#xff0c;当然也少不了AI生成和修改音频的各种工具&#xff0c;我们整理出其中最具影响力的&#xff0c;并且可能最用得上的一些收录到 AI生成和修改音频类工具网站集合​https://www.webh…

狂飙,ChatGPT 官方 iOS 版本应用上线

ChatGPT正式发布App&#xff0c;可在苹果应用商店下载&#xff0c;安卓版也不远了 在手机上也能玩ChatGPT了&#xff01;当地时间周四&#xff08;5月18日&#xff09;&#xff0c;人工智能研究公司OpenAI在官网宣布&#xff0c;其在美国推出了聊天机器人ChatGPT的iPhone应用&a…