本帖最后由 xcymoo 于 2024-3-12 11:04 编辑
背景介绍众所周知,SpreadJS即将在V17版本迎来重大更新——报表插件ReportSheet,基于SpreadJS本身强大的表格能力,全新的报表插件让报表和数据录入用户有了全新的能力和体验,可让用户快速完成报表和数据录入功能的搭建,相比之前,节省了大量的开发成本。 报表功能依赖于DataManager数据关系引擎,对于用户来讲,配置数据源显得尤为重要,这是生成报表的基础。没有数据源,谈论报表就是无源之水、无本之木。 在大部分情况下,企业的数据都是存储在数据库中的,而SpreadJS作为一个纯前端的控件,不支持直连数据库,这就要求必须有一个接口来向SpreadJS提供数据。而今天这篇文章,就教大家如何利用一个开源项目,快速生成数据接口。
实现方式
前期准备技术栈:Java,Spring-Boot,MyBatisPlus,Maven(可选) 在开始前,请先确保自己有Java开发环境,并下载好这两个附件。
其中,my-api是我们自己的项目,最终的接口服务也是从这个项目中启动的,我们可以叫它api服务。mybatis-plus-generator-ui是前面提到的开源项目,我们同样给它起个名字,叫接口生成器,它的作用就是帮我们在api服务中生成代码文件。
目录结构介绍我们先看下api服务下都有哪些文件吧:
TestApplication.java是Springboot的入口文件,除了必要的引入外,还规定了要扫描的Mapper;
Application.yml是配置文件,主要是配置了数据库的连接串,读者需要将其改为自己的数据库连接。
除了这两个文件外,不需要其他文件了,也无需做任何修改。 再来看下生成器的目录,它的文件比较多,但我们不用关心它的内部实现,只关注以下两个文件即可:
TestApplication.java是生成器的启动文件,它没有用配置文件配置数据库的连接,而是写在了代码里,你需要对其做出修改。另外,它提供了表前缀设定和名称转换,我的数据库表没有前缀,也不需要转换名称,故注释掉了,读者可以按需开启。
Controller.java.btl是生成controller的模板文件,开源项目的源码中未开启跨域,这里为了本地测试,我开启了跨域,读者后续有其他需求,也可以在codetpls目录下找到对应的模板文件,按需增减。
启动项目然后就可以启动生成器了,在TestApplication下点击运行即可,启动成功浏览器后打开localhost:端口号,即可看到ui界面:
生成代码看到页面上方的“代码生成”按钮了吗,先别急着点它,咱们需要先配置一下生成的文件的包名是什么,点击上方的输出配置:
读者需要将这里的包名改为api服务的包名,这里我已经全都修改好了:
然后返回到上一个页面,选择你要生成接口的数据库表,点击“代码生成”,勾选所有“本次需要生成的文件”的复选框,修改“目标项目根目录”为api服务的根目录。其他配置可以不填,点击开始生成,等待数秒后,api服务下就已经生成好所有勾选的文件了:
到这里就大功告成了,接下来只要以同样的方法启动api服务即可:
启动后,按照application.yml中配置的端口号,结合controller文件中的路径,就可以从localhost请求到数据了,注意请求全部数据的时候,要在最后加一个斜杠/:
可以看到返回的数据和数据库一致:
到这里,接口就已经完成开发了,读者快用开发好的接口试试V17的报表功能吧~
|