迷彩风情的gravatar头像
迷彩风情 2014-11-02 10:37:52

Java在查询数据表信息的时候,如何做到字段是动态可选择的?

问题是这样的,我在查询一个数据表的信息列表时,我不想把所有的字段都查询出来,我想通过动态的方式,可以选择我要查询那几个,然后就根据选择的字段名称,来查询对应的列表信息:

比如:我的数据表User,有字段:id,userName,PassWord,post,dept,onlyCode,但是现在我只想查询4个出来,并且最好是可以在页面选择要查询的字段后,后台可以只想查询多对应字段的数据信息。

所有回答列表(5)
遇见,的gravatar头像
遇见,  LV36 2014年11月2日

第一步, 获取user表里所有字段。

如果是ORACLE:

SELECT T.COLUMN_NAME FROM ALL_TAB_COLUMNS T WHERE T.TABLE_NAME = 'USER' AND T.OWNER = '用户名' ORDER BY T.COLUMN_ID ASC;

如果是MYSQL:

SELECT T.COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS T WHERE T.TABLE_NAME = 'User' AND t.TABLE_SCHEMA = '数据库名' ORDER BY T.ORDINAL_POSITION ASC;

 

第二步, 在页面展示这个表里的所有字段, 可以用下拉框来显示(多选的)。

第三步, 定义一个变量 加入var x = ""; 选择下拉框里的字段值,将选择的字段值以逗号隔开组成字符串赋值给x。

第四步, 将x传到后台,拼写SQL。   String sql = "select "+x+" from User";  执行。

评论(5) 最佳答案
一介草民的gravatar头像
一介草民  LV3 2014年11月2日

select [字段],[字段]...[字段]  from []表

410071302的gravatar头像
410071302 2014年11月5日

正如楼上的所讲,拼sql是最简单的方法了

行走de稻草人的gravatar头像
行走de稻草人  LV5 2014年11月6日

支持

ostar420的gravatar头像
ostar420  LV2 2014年11月11日

前端可以组个下拉,或是列表,先展示数据库表,筛选(单选)一个,另一个下拉展示表字段,多选,之后展示数据。

强烈不建议写查字段写SQL,不同库不兼容。java 里面有封装类,DatabaseMetaData dbmd = conn.getMetaData();rest = dbmd.getColumns(null, null, tableId, null);  可以查到表字段等信息。

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友