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

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

前提:

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

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

想法:

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

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

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

2.找各位大佬寻求建议
举报· 196 次点击
登录 注册 站外分享
14 条回复  
lnbiuc 小成 2024-8-29 16:04:03
你是否在找一个低代码平台,以下内容参考金蝶低代码平台:
定义一个动态对象,包含实体标识、数据库表名、分库标识等等,包含数据存储,底层是 Map ,key 为字段标识,val 为对象,中包含数据库字段名,类型等信息。每次查询时通过实体标识先查到动态对象类型,获取到对象有的字段,然后根据这些信息拼接出 SQL ,直接去数据库执行,获取 ResultSet ,自行转换成前面的动态对象,补充缺失信息。取值赋值就取 Map 再取 key 。保存更新也是一样的道理,拼接出 SQL 执行。
这样除了数据表,至少还有一个实体数据表,存储数据表的数据结构
mawen0726 小成 2024-8-29 16:12:20
https://baomidou.com/  
mybatis-plus 不知道是否符合你
langzibing 小成 2024-8-29 16:20:17
用反射和泛型
functionABC 小成 2024-8-29 16:22:09
你说的事自己在系统上维护表,然后将模型生成到数据库表中,然后自动生成表需要的实体和其他代码。是不是这样,mybatisplus generator 了解下
duanxianze 小成 2024-8-29 16:28:34
你要找的实际是 nosql,可以随意存放数据,简单搞的话就用 mysql 直接存 json ,现代数据库可以直接操作 json 对象
vacuitym 小成 2024-8-29 16:32:37
做过一次类似需求的,一个支付相关的配置表,由于不同渠道的配置不一样,我们是基于一个基础表然后给基础表增加了一个 text 的字段存储 json 信息,然后另一张字典表来定义这个 json 有哪些字段
mercurylanded 小成 2024-8-29 16:34:41
java 搞这种麻烦,换 js 或者 python 吧
java20 小成 2024-8-29 16:36:21
换 mongo 数据库
Mandelo 小成 2024-8-29 16:37:41
mybatis generator+freemarker 之类的模板,别说接口了,前台 vue 页面都能给你一条龙生成
12下一页
返回顶部