qq_36511752 2017-02-22 01:30 采纳率: 50%
浏览 733

急求java任务解决方案。。。做了好几天,头疼啊。本人小白。

{
"tables": [
{
"name_en": "atable",
"name_ch": "表中文名",
"column": [
{
"name_en": "columnA1",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
},
{
"name_en": "columnA2",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
}
],
"select_columns": [
{
"name_en": "sa1",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
},
{
"name_en": "sa2",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
}
],
"order_columns": [
{
"name_en": "oa1",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
},
{
"name_en": "oa2",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
}
],
"where_columns": [
{
"name_en": "wa1",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
},
{
"name_en": "wa2",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
}
]
},
{
"name_en": "btable",
"name_ch": "表中文名",
"column": [
{
"name_en": "columnB1",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
},
{
"name_en": "columnB2",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
}
],
"select_columns": [
{
"name_en": "sb1",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
},
{
"name_en": "sb2",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
}
],
"order_columns": [
{
"name_en": "ob1",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
},
{
"name_en": "ob2",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
}
],
"where_columns": [
{
"name_en": "wb1",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
},
{
"name_en": "wb2",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
}
]
},
{
"name_en": "ctable",
"name_ch": "表中文名",
"column": [
{
"name_en": "columnC1",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
},
{
"name_en": "columnC2",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
}
],
"select_columns": [
{
"name_en": "sc1",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
},
{
"name_en": "sc2",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
}
],
"order_columns": [
{
"name_en": "oc1",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
},
{
"name_en": "oc2",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
}
],
"where_columns": [
{
"name_en": "wc1",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
},
{
"name_en": "wc2",
"name_ch": "中文名",
"colType": "列类型",
"keyType": "PK/FK"
}
]
}
],
"relations": [
{
"tableA": "atable",
"columnA": "columnA1",
"tableB": "btable",
"columnB": "columnB1",
"type": "leftjoin"
},
{
"tableA": "btable",
"columnA": "columnB2",
"tableB": "ctable",
"columnB": "columnC2",
"type": "innerjoin"
}
]
}

这是一串已知的JSON,有tables和relations两个对象。table里面有三张表,每张表里的coulum指该表包含的所有字段,select__columns指要查询的所有字段,ord er_column指要排序的所有字段,where_column指条件所有字段。relations里面是连接查询。

要求:输入一串json,返回一句连接查询的SQL语句。(json里面表数据会根据输入而不同)。

我做了很多方案:
1、创建实体类的话,就不能解决输入不确定参数数量的问题,比如我不知道几张表,每张表要select多少字段;
2、如果一股脑将所输入的json全部存入一个或者多个list集合里面,那我就不能解决最后拼接成一句sql语句的问题;

关键点就是,固定表数量或者select数量,我可以很好的解决,但是,不确定数量的话,我就很难输出并拼接成一句sql语句。

求大神。。。刚实习,头疼,四天了。。没做出来。

  • 写回答

4条回答

  • qq_36511752 2017-02-22 01:33
    关注

    图片说明

    类似输出这种sql语句。

    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮