如何实现动态获取数据库中的字段

来源:互联网 发布:苏州网络耗材批发 编辑:程序博客网 时间:2024/05/21 12:42

       在做项目的路途有没有遇到这样的一个问题:数据库的字段名称可能随着时间和需求的变化会发生改变,而实际的程序中需要获取的数据是不变的,比如说:开始的时候用name这次字段表示名称,在某种需求下改成只是将字段名称了name1保存的数据没有变并且要求程序要求获取到对应的数据。这该怎么办的?

       这时会想到动态的获取这个字段名,那么应该如何实现呢?

       首先,数据库的设计应该是会有一个基本的信息表,在基本信息表中保存着这个会变化的字段的代码值,我们需要清楚的是这个表以及会变化的字段在这表中保存代码值的字段,然后通过实际的条件作为参数去业务表中唯一确定可能变化的字段名称,实现动态获取。

       接下来,可以实际的例子:

<pre name="code" class="java"><span style="font-size:18px;">public JSONObject getField(String[] str1,String str2) {JSONObject json = new JSONObject();if (str1.length != 0) {String sql = "";String param = "";for (int i = 0; i < str1.length; i++) {if (i == 0) {param = " ? ";} else {param += ", ? ";}}sql = " SELECT a, b FROM T WHERE a IN ("+ param + ") AND b='"+str2+"' ";DataSet ds = this.getObject().executeQuery(Query.sql(sql), str2);if (ds != null) {while (ds.hasNext()) {ds.next();JSONObject json2 = new JSONObject();json2.put("b1", ds.getString("b"));json.put(ds.getString("a"), json2);}}}return json;}</span>


       办法总比困难多,在学习中向前。


0 0