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语句。

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘