[这个有点儿挑战]求图形化页面生成SQL思路

coooliang 2013-11-19 10:42:14
你们天天回答初级问题是不是都觉得无聊了,这里有一个比较高端的来试试吧!

现在需要做一个页面,显示各个表,以及用线条显示各表之间的联系。然后再由用户选择需要查询的字段,点击“生成”产生对应的查询SQL语句。
PS:拖拽可以用jqueryui,主要是如何实现SQL的生成,因为各表之间是有关联的。

请问:如何判断表与表之间的关系,然后根据这个关系产生SQL语句,以及表之间的连接线怎么画的,请往细的方面想哦,求思路。
...全文
439 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxax 2013-11-19
  • 打赏
  • 举报
回复
前端产发送请求到服务器端,服务器端可以使用Hibernate产生对应SQL语句
teemai 2013-11-19
  • 打赏
  • 举报
回复
说说思路: 数据库可以导出包含所有表的create语句的 sql文件。 分析sql文件。比如create table的sql语句。关键字 primary/foreign key等。 表关系都有了。剩下的就是做界面,以及对应的生成sql业务
coooliang 2013-11-19
  • 打赏
  • 举报
回复
引用 2 楼 huxiweng 的回复:
说说思路: 数据库可以导出包含所有表的create语句的 sql文件。 分析sql文件。比如create table的sql语句。关键字 primary/foreign key等。 表关系都有了。剩下的就是做界面,以及对应的生成sql业务
表其实没多少张,主要觉得生成SQL业务太麻烦,因为需要添加条件,连接等进行查询。
  • 打赏
  • 举报
回复
看看hibernate的实现原理吧。。。用类作为一个表,类中对象来表示关系等等等。其实你完全把hibernate的一套东西拿过来用,只是这是一个逆过程,不过难度应该不在这。而在于,怎么把表关系图转为类对象关系图。。。我能想到的就这些了。。。
  • 打赏
  • 举报
回复
mysql的 /**查看表结构**/ desc yourtablename /**查看创建表语句**/ show create table yourtablename /**查看所有列的信息**/ use information_schema; select * from columns where table_name='yourtablename'; /**查看所有列名的信息**/ use information_schema; select column_name from columns where table_name='yourtablename'; /**拼接列名到预定义的sql**/ select concat('insert into yourtablename values(',r.column_name) from (select group_concat(column_name) column_name from columns where table_name='yourtablename') r;

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧