总结一个学习中的经验关于HSS(上)

开发之前一些小想法。 

  大学期间完成的一个小实验或者说是一个小项目,一下把个人经验总结出来。
  项目是利用Hibernate+spring+struts拿来给我学习这个空间做的实验。
  在之前在老师的要求下按软件工程的过程写下了软件的文档,在开发中发现了种种问题。
其实在软件需求阶段的时候软件的页面的许多功能就必须结合功能需求说明清楚。还有如果是多人合作开发的话,必须合理按照每个人能力安排工作,切忌出现1个人全包或者1个人吧全部模块拿去做的问题,这样后期发现问题后就很难更改。
  由于我跨过了软件工程的文档编写,直接开发,并且由1个人开发就出现了很多BUG,不过对于个人学习来说,就非常合适,可以由自己安排。

 

 

  现在开始我的全部开发说明,先找了个HSS的例子查看例子,发现3层架构的整合很大层度都是靠spring+struts配置文件进行跳转和说明。将那个系统的源代码搞的半懂后开始我自己设想的一个软件编写,设计。

 

   数据库阶段

       表:user,pay,employees,role,roletouser.

      从我以前的理解如果1对多就必须将1的主键放在多的一边做外键,并且在多对多的时候必须建立1个外表用例存储2个表的主键做外键。

      但是在MYSQL中在建立外键的时候经常会报错,不管是用SQL语句加还是手动加都出错,后来发现在建立表的时候要不就全部使用SQL插入要不就全部手动加入。

     (这里出现个问题)就是以后使用Hibernate建立映射的时候也可以说明,是否在这个阶段全部先设计清楚,经过老师的指导后了解一个问题,在设计数据库的时候有2个方式实现配合hibernate与后期开发。

     方法1:在数据库设计的时候就将库表全部设计好包括全部的级联,并且在Myeclipse中使用工具直接生成hibernate的相关文件:XBM,DAO,POJO。并且在这个阶段建立个里程碑,将系统可能涉及数据库操作全部使用SQL语言测试下。

这个做法的好处,前期数据模型那块全部设计后,后面的代码就更直接更能针对软件业务和功能进行操作,这样后期编写就简单很多。

     方法2:在数据库中只建立的表全部只有定义,没有表间的连接,这个很接近4范式,这样在Myeclipse生成Hibernate文件的时候关键的POJO,与HBM文件就必须自己在去添加,与修改尤其在POJO里,目前我还没明白DAO文件是否要修改,因为之前所有的操作我都是用方法1,方法2的级联方面很多时候还会出错,必须在ACTION编写上有编写者自行编写,后期的工作量大了很多,但是也不是没有坏处,这样做程序的很多要率会提高很多。

  方法3,其实也没有所谓的方法3,这个方法就是结合1和2的特点混合的设计。

这样就完成了数据hibernate的配置。 建议将文件放在Spring中不分离出来。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver">
		</property>
		<property name="url" value="jdbc:mysql://localhost:3306/peoplemanage"></property>
		<property name="username" value="root"></property>
		<property name="password" value="123"></property>
	</bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref local="dataSource" />
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
				<value>com/pepmanagex/model/User.hbm.xml
				</value>
				<value>com/pepmanagex/model/Employees.hbm.xml
				</value>
				<value>com/pepmanagex/model/Pay.hbm.xml</value>
				<value>com/pepmanagex/model/Role.hbm.xml</value>
			</list>
		</property>
	</bean>
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值