java - 动态命名 SQL 字段

标签 java mysql node.js

所以我有一个机器人,可以充当角色扮演角色,处理战斗、技能点等,我试图让我的代码更通用一点,这样我就可以拥有更少的页面,因为它们都做同样的事情他们只是有不同的初始化器,但我遇到了一个障碍,我需要检查用户是否在特定的统计数据强度、感知、敏捷性等方面具有最小值

所以我打电话

mainSPECIAL = rows[0].Strength;

这就是摩擦,它的强度,感知,智力,运气,无论我总是要检查行[0]。那个属性,即行[0]。幸运的运气津贴,我已经在早些时候设置了我的初始化器

var PERKSPECIALName = "Strength";

但是我不能打电话

mainSPECIAL = rows[0].PERKSPECIALName 但应该有办法做到这一点,对吗?这样,当它看到“rows[0].PERKSPECIALName”时,它会查找“PERKSPECIALName”,然后获取 rows[0].Strength 的值

最佳答案

为此,您需要使用反射:

Field f1 = rows[0].getClass().getField(PERKSPECIALName);

Integer attribute = (Integer) f1.get(rows[0]);

其中“Integer”是您从对象中拉出的元素的类型(强度类型)

该字段必须声明为公共(public)字段!我认为有一种方法可以在它们不公开时获取它们,但需要更多代码。

关于java - 动态命名 SQL 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44465941/

相关文章:

java - Cloudera 中的 WordCount 作业成功但 reducer 的输出与 mapper 的输出相同

java - 日期程序的验证问题

mysql - 如何选择具有与给定值列表完全匹配的外键的主键?

angularjs - 使用 Angular http 在 Ionic 中发送 http 请求

javascript - 如何让 babel-node 将 Workers 引用的文件转换为 commonjs? (就像 babel 一样)

javascript - 安全地存储 Web 推送通知的订阅 JS/Node.js

java - 使用java解析xml并保留html标签

php - 一个数据库的 MySQL 4 兼容模式下的 MySQL 5?

mysql - nodejs mysql 不能与 mariadb 一起工作

java - 如何根据按下的按钮使用不同的验证