首页 > 开发 > Java > 正文

专家解答:创建表格与数据库进行交互

2018-10-16 21:19:43
字体:
来源:转载
供稿:网友
应用程序需要将用户填入的数据保存到数据库中,同时又要将数据库中的数据读取到前台应用程序供用户查询。而表格工具无疑是这个用户与数据库之间交互理想的中间平台。笔者今天就跟大家分享一下,再Java平台中建立表格的一些技巧。

  一、是否允许用户对记录进行重排序?

  当从数据库中读取记录然后反映在表格中,有很多地方可以控制记录的排序。在不排序的情况下,从数据库中读取数据的时候是根据记录创建的时间先后顺序反映在前台的表格中。为了控制显示的顺序,数据库管理员可以在数据库层面上,针对这张表格创建一张视图,并在视图中设置排序规则,来改变默认的排序顺序。这张方式效率比较高,但是也比较死板。因为只有数据库管理员才能够更改这个排序规则。其次在Java平台中,将相关的SQL语句传递给数据库以获取想要的数据时,也可以利用order by关键字来设置排序的顺序。不过这跟数据库层面上设置一样,也有一个致命的缺陷,即这个排序规则必须预先设置好。如果用户不满意当前的排序规则,则必须要系统管理员或者开发人员帮忙才能够更改排序方式。显然这两个排序方式都不是很灵活。

  其实用户需要的是在前台应用程序窗口中,可以根据需要对任何一个字段进行排序。如点击某个字段名字,就根据这个字段名进行排序。在Java平台创建表格的类中,本身就已经集成了重新排列的功能。如在创建表格的时候,可能需要用到一个JTableHeader类(可以用这个类创建不支持滚动条的表格),在这个类中,有一个setRecorderingAllowed方法,其会有true与false两个返回值。如果这个方法返回的时true,则表示允许用户在这个表格上对记录进行重新排序。如果返回的是false的话,则表示用户无法在表格上对记录进行重新排序。如果不满意现在的排序规则,只有要求系统管理员或者开发人员在后台更改排序规则。

  对这个排序规则的设置,笔者有一个建议。首先程序开发人员或者数据库管理人员要根据用户常见的需求,即最常用的排序规则来进行设置。如此的话,用户一打开前台表格,就可以得到自己想要的排序方式。然后在表格上也允许用户进行重新排序。当用户有需要的时候,可以轻易实现按任何一个字段进行排序。笔者认为这种排序规则比较合理。在实际应用程序开发中,笔者也是如此做的。不过这里需要注意一点,如果查询出来的纪录比较多,此时即使在前台对记录进行排序,效率也会比较低。为此对于大记录的表格,笔者的建议是在数据库设计或者应用程序开发中,就要评估用户最常常用的排序规则。如在产品信息窗口中,可以按关键字或者产品类别进行排序。如此就可以最大程度的减少二次排序,提高应用程序的性能。

  二、是否允许对表格中的内容进行编辑?

  在表格创建的时候,还需要注意是否允许用户对表格中的数据进行更改。对于这一点程序开发人员也可以在多个层面对其进行控制。如某个表格对于任何用户来说都是只读的,只允许应用程序对其进行更新,那么就可以在数据库层面进行控制。如对于系统日志表格来说,用户就不能够进行更改,只有查询。为此就可以针对这张表格创建一张只读的视图,供用户查询使用。而应用程序在更新的时候,则直接更新对应的基础表格。这就是通过在数据库层面对表格中的内容是否允许编辑进行控制。

  除此之外,还可以通过权限来进行控制。如可以在数据库中设置不同的用户、不同的权限来控制前台表格对应的后台数据库表格的读写权限。在应用程序中,也可以控制对这张表格中内容的编辑能力。默认情况下,利用Java提供的现有类创建表格时,是允许用户对表格中的内容进行编辑的。如用户只要双击单元格,就可以对表格中的内容进行更改。如果系统管理员不希望用户对表格中的内容进行更新,则就需要重构JTable类中的isCellEdittable方法。默认情况下,这个方法返回的值是true,表示允许用户对其进行更改。如果返回的时false的话,在禁止用户对单元格进行编辑。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选