您的位置:首页 > 编程语言 > Java开发

JAVA数据库课程设计的一些经验感想

2009-04-29 22:59 302 查看
首先声明,本人刚学JAVA不久,只是一只菜鸟。下面的内容也谈不上分享什么经验,只是把自己在用JAVA做数据库课程设计时的一些想法用文字写出来,希望对一些也是刚学JAVA的人有一点帮助,当然也希望大家能够不吝则教,指出里面的不足与不合理的地方,以便我我能有所改进。

本人刚学JAVA不久,前阵子用JAVA做了一个数据库的课程设计,主要是用于管理一个平面公司业务管理系统,功能一般般,都是一些查询订单,添加订单,修改订单的基本功能,也使用了正则表达式,对数据的输入类型做了一定的约束设置。下面谈谈我大概的制作过程。

首先是数据库的建设,使用SQL SERVER建立了几张表分别存放属于不同状态的订单纪录,比如预订单,在建单,送货单,历史单之类的这几张,建完了之后,对一些数据只能够是在几个数据之间选择的做了一个约束,这样是能够保证插入的数据一定是几个数据之中的一种,例如性别只是男或者女这样的数据。但是对于一些数据字段如果在数据库这样限制的话,对于将来的扩展也存在着一些弊端,比如我的订单纪录里面有一个字段是订单型号,如果现在有A型和B型,那么将来如果多了一种叫做C型的类型,那么你在数据库里面的数据约束就需要进行相应的修改了。这就影响了将来的扩展性,如果谁有比较好的方法解决的话,请赐教下。

其次,是进行程序的设计,当然我的数据库里面没有使用到存储过程这样的比较复杂的东西,所以也相对比较简单。接下来进行简单的框架的设计,如界面的大概布局之类的。然后,也就是本次数据库课程设计的重点了

我使用的开发工具是jbuilder2006,它里面有个叫做dbswin的控制组,对于开发数据库比较方面,但是它也有不足的地方,但是对计算机的配置要求比较高,没有一定的较高的CPU主频,和较大的内存空间,使用起来会很卡。(有两个小方法可以稍微改善下,1,在jbuilder2006的安装目录下,找到bin/目录下的一个名为jbuilder2006.config的文件,里面有一行是关于运行的该软件默认的最大的内存空间和最小空间,将它稍微改大的,但是是好像得符合一定的数字,可以改为最小256,最大512 2,在运行了jbuilder2006之后,打开任务管理器,将该进程的优先级设置为高)

1、连接数据库的问题。jbuilder2006里面有一个tool/database pliot可以进行数据库的连接测试。

我是使用1433端口进行连接,以及相关的驱动。如果不能够连接上的话,有可能是以下的几个原因之一

:1433端口没有打开,可在命令提示符下输入netstat -an如果能够找到1433端口是处于监听状态的,说明已经打开了。要连接上大概有几个文件叫安装:一个SQLSERVER的SP4的补丁,还有微软为JDBC 的三个JAR包需要引入。详细可以上网搜下。

2然后在使用jbuilder2006里面的一个DataExpress拉出一个database,设置其连接到你的数据库当中。

3、对于查询使用的是用一张jdbtable表,然后设置其dataset,其dataset为querydataset(可以在DataExpress里面找到),再在querydataset里面设置相应的查询语句,这种我一般都只是用来初始化一张表,而对于要根据某个关键字进行查询的那种,我都是在相应的按钮里面嵌套相应的代码:一般都是新建一个querydataset,然后再使用那种创建可以带有参数的语法。就是在SQL语句里面将其写为一个?号,然后在下面再传入相应的参数之类的。其它的制作模式都大概与此相同。

4、一个是关于表进行了相关的修改了之后的,动态刷新问题。这个之前一直困扰了我很久,但是后来终于找到解决的办法了,就是查询或者修改完了之后,再在你的语句下面加多一句,例如是表A,则是A。getDataSet.refresh(),这样就可以实现动态刷新.其实这种方法是调用了原本默认工具条jdbNavToolBar里面的refresh()函数。

5、发觉jbuilder里面有一个比有用的或者是比较强大的功能就是两个张之间可以设置主从关系,但是点击其中一张的不同纪录时,另一张表就会自动的产生相应的变化,说白,它的原理和嵌套查询差不多,就是将一个查询作为另一个查询的参数。

6、在这次设计当中,也存在着以下几个问题解决不了,一个是怎样在一张jabtable里面修改某一列的纪录的时候,实现类似jdbComboBox的功能,就是一个下拉框。好像可以设置其jdbpicklist,但是我试了下,在已经建的列,并且有了数据的情况下,设置了之后是没有反应的。另外一个是报表功能的实现,虽然知道有一些组件如ireport等,但是关于怎样在应用程序里面调用它,这个问题我还解决不了。

上面就是自己的一些小小的经验或者收获。希望对你能够有所帮助,也希望大家指正。详细的实现报告,可以发邮件到homssk@126.com跟我拿。当然也希望大家指出里面的错误的地方。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: