学习struts2建bbs总结一:用powerdesigner建数据库并自动生成测试数据

本文介绍了使用Struts2构建BBS论坛时的数据库设计过程,通过PowerDesigner创建CDM和PDM模型,并自动生成测试数据。在数据库设计中遇到的问题和后期反思,强调了数据库设计的重要性,以及对于程序效率和编程便利性的影响。后续将探讨登录登出Action、中文乱码处理、表单验证和分页问题。
摘要由CSDN通过智能技术生成

几年前学的编程,但几年都没做编程,现在重新学习,困难很不少,希望能在csdn学习、进步。如有高手不吝指点则万分感谢!!

在这里csdn发博客,而不用平时新浪qq博客,也是希望在这里能得到前辈、高手的指点。

用struts2+spring+hibernate。

我参考了一些bbs论坛程序的数据库设计,希望简单的弄一个出来,做一个bbs程序,目的就是为了熟悉ssh框架,熟悉各种编码。所以功能不多。回想建数据库的过程走了不少弯路,其中程序做到一半的时候竟然发现数据库有些字段多余,而有些数据表缺乏外键,有些缺乏属性。所以中途还修改了数据库结构,等到至今项目做完,更发现数据库设计得太差,希望下一个项目中能进步就好。


先建cdm概念模型,因为建好概念模型后,可以方便的转化成pdm物理模型,powerdesigner会自动为cdm中建好的表、关联建设好pdm模型中的主键、外键等。cdm模型如下:



在tools工具下,生成pdm模型,最终的pdm如下:(我中途修改了pdm,添加了一些外键,便于查询)



在pdm中,对于需要设置自增的字段,如id等,设置如下:



建好pdm后,自己检查下,则可以在database菜单下直接生成sql文件,在powerdesigner里可以直接配置好数据库(我用mysql5)并建立连接,直接马上创建数据库(不必另外到mysql里专门运行sql),创建好数据库后,为了便于将来程序的测试,我们需要加入一些测试数据,powerdesigner方便的实现了这个功能。在database菜单下,有个“生成测试数据”,点如图:



在上图中选择direct generation 可以直接把数据插入到数据库中。number of rows选项下可以设置每个表生成的数据量,如果不设置,默认好像每个是20条记录。



点击确定即自动在创建的数据库插入自己设置的数据数量。插入的数据,都是powerdesigner根据你对每个字段的属性类型设置,自动生成一些字母组合。这样数据库中内容不少了,在以后编码中可以专心编程,而不必时不时为了验证某个方法函数action还得去数据库中插入删除数据等。


自动生成的数据并插入数据库,如下图:



至此我的数据库建立完成了。

事后总结:

1、自己对数据库很多知识已经生疏了,此数据库建立非但没有考虑到范式,更没想过创建视图索引之类,归根在于知识疏漏,得买本书好好学习数据库建设。

2、没有设想程序中的sql语句,到时到编程时发现某个查询十分麻烦,要join操作,但如果预先设计字段索引外键等,其实可以很快的解决。

3、数据库的设计比编程关键的多,数据库设计合理给以后的编程带来特别大的方便,如设计不合理,则时不时修改数据库,做程序做到这样,是绝对的悲剧。

4、在后续的编程过程中发现,当发帖后,topic表中的postnum应该增加1,类型的情况很多。当然这个过程可以在程序中实现,但在网上查询,似乎应该在数据中创建触发器更高效。此点还有疑问,有待进一步学习研究。

5、本人初学,不足之处很多,希望各位高手不吝批评指教。不胜感谢!!!


明日下一篇:完成登录登出action

陆续待完成的总结:登录action以及拦截器,解决中文传值乱码的3种方法,表单数据验证,分页遇到的问题(程序莫名卡死失去响应的问题)......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值