叠个甲:Java 没写多久,可能这个问题有现成的解决方案,但是我找了很久没找到

目标:
找到一个最简单最通用的框架/方法,来实现对自定义表(没有实体)的通用增删改查操作。

前提:

0.项目内有两种类型的表,一种是预置的表,比如用户表,菜单表。还有一种是在项目发布不清楚数据结构,用户自定义的表。但是每个表都有一些固定的字段,比如`id`,`create_at`等,可以有一个基类,但是更多的还是不同的业务字段。

1.用户可以自定义表以及表内的字段信息,这种表一般来说固定好了之后很少会修改。用户会在项目中配置(有配置页面)有哪些表,每个表有哪些字段。

想法:

0.最底层的方法,写一个 XML ,里面有一系列的通用的方法,比如(`select {field_list} from {table_name} where {query_condition}`)然后每次查询的时候把所有的需要的信息丢进去。

好处:肯定可以实现功能
缺点:比较繁琐

1.找到一个方法,去生成类似于实体概念的一个玩意儿,然后后续就是对接到现有的 Mybatis 等框架上。

2.找各位大佬寻求建议
举报· 194 次点击
登录 注册 站外分享
14 条回复  
Qcchen 小成 2024-8-30 11:51:14

刚学 1 年 Java ,有没有大佬实现过类似功能/了解相关框架

设计纵向表不能满足吗? 听这个需求就和低代码平台的动态配置表单一样。
lower 小成 2024-8-29 22:25:38

刚学 1 年 Java ,有没有大佬实现过类似功能/了解相关框架

这基本就是低代码,我看了一下某个项目的查询这块的实现,是用的 MyBatis Dynamic SQL  ,根据记录的自定义表信息,表单信息,列信息,查询信息配置等,组装 MyBatis Dynamic SQL   需要的 Provider 。。。本质就是手动拼 sql ,只不过这个组件封装了拼的过程,能帮你减少失误😀
doublestart 小成 2024-8-29 21:20:51

刚学 1 年 Java ,有没有大佬实现过类似功能/了解相关框架

完全可以借鉴低代码的思想, 比如第 1 点: 用户会在项目中配置(有配置页面)有哪些表,每个表有哪些字段。  这个只是把数据库建表工具通过网页来做而已,    低于基本增删改查完全够用了,  如果有点复杂的逻辑, 必定要生成对应的实体类才行
zoharSoul 小成 2024-8-29 20:01:52

刚学 1 年 Java ,有没有大佬实现过类似功能/了解相关框架

不要搞这种东西
sagaxu 初学 2024-8-29 16:42:56
用户会在项目中配置(有配置页面)有哪些表,每个表有哪些字段。

如果没配置字段类型,可以在首次载入时去 db 里查表结构。
根据表名,字段名,字段类型,生成对应的 SQL 不麻烦吧。

这根本就不需要什么框架。
Mandelo 小成 2024-8-29 16:37:41
mybatis generator+freemarker 之类的模板,别说接口了,前台 vue 页面都能给你一条龙生成
java20 小成 2024-8-29 16:36:21
换 mongo 数据库
mercurylanded 小成 2024-8-29 16:34:41
java 搞这种麻烦,换 js 或者 python 吧
vacuitym 小成 2024-8-29 16:32:37
做过一次类似需求的,一个支付相关的配置表,由于不同渠道的配置不一样,我们是基于一个基础表然后给基础表增加了一个 text 的字段存储 json 信息,然后另一张字典表来定义这个 json 有哪些字段
duanxianze 小成 2024-8-29 16:28:34
你要找的实际是 nosql,可以随意存放数据,简单搞的话就用 mysql 直接存 json ,现代数据库可以直接操作 json 对象
12下一页
返回顶部