(转)配置jboss,mysql,seam,eclipse步骤(三)

seam自动建表状态的调整

   jboss中启动booking应用之后,自动在mysql的p20080422库中建立三个表:booking,customer,hotel。现在的问题是一旦停止该应用(可以通过删除C:/jboss-4.2.1.GA/server/default/deploy目录下的两个文件jboss-seam-booking.ear、jboss-seam-booking-ds.xml达到停止应用的目的),则p20080422库中建立的三个表自动删除。

   我们对这种情况再次观察一下:

   到C:/jboss-4.2.1.GA/server/default/deploy目录,保证jboss-seam-booking.ear、jboss-seam-booking-ds.xml已被删除。
   此时,我们看一看mysql数据库服务器中的p20080422库,里面没有表。(可以用jise非常方便地观察到数据库的情况。)
   启动jboss。如果之前已经启动,不必重新启动。
   切换到eclipse,用E:/eclipse-jbossIDE2.0/p20080422/examples/booking/build.xml文件对booking项目进行编译(以前修改好的配置不要变噢)。编译完成后,C:/jboss-4.2.1.GA/server/default/deploy目录下多了两个文件jboss-seam-booking.ear、jboss-seam-booking-ds.xml,同时,booking应用被启动。在joss的cmd窗口,可以看到:
  
   ... ...
   [org.jboss.deployment.EARDeployer] Started J2EE application: file:/C:/jboss-4.2.1.GA/server/default/deploy/jboss-seam-booking.ear
   ... ...
  
   此时,我们看一看mysql数据库服务器中的p20080422库,里面多了三张表。
   删除C:/jboss-4.2.1.GA/server/default/deploy目录下的jboss-seam-booking.ear、jboss-seam-booking-ds.xml文件。
   再次用jise看一看p20080422,里面的三个表又消失了。
   实际应用中我们不希望这样。
   关键在这里:E:/eclipse-jbossIDE2.0/p20080422/examples/booking/resources/META-INF/persistence.xml文件中有一行:
  
   <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
  
   这一行决定了数据库中的相关表将由java应用程序自动建立、删除。
  
   我们通过以下操作来改变这种情况。
   1、编译并启动booking应用。
   2、复制p20080422数据库。可以用好多工具程序,例如EMSMysql Manager,甚至mysql的命令行工具。这里推荐用jise,鼠标按键不超过5次就可以完成:)。jise-数据管理-数据库管理-选p20080422,右键-复制-yes-目的名,填pTmp,ok。(这可是我用了2008.4.26、27一天多时间新加的功能)
      这样,booking库的表结构和数据都复制到pTmp临时库中。
   3、删除C:/jboss-4.2.1.GA/server/default/deploy目录下的jboss-seam-booking.ear、jboss-seam-booking-ds.xml文件。这样booking应用程序终止了。
   4、修改E:/eclipse-jbossIDE2.0/p20080422/examples/booking/resources/META-INF/persistence.xml文件,
      把这一行注销掉:
  
         <!--
         <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
          -->
         
   5、把刚才复制到pTmp临时库中的表及其中的数据再复制到p20080422中。仿照步骤2操作即可。
   6、编译并启动booking应用。
         
   通过以上操作,保证了数据库在应用停止之后,仍然存在。
   实际上,将应用配置为自动建立、删除数据库还是非常有用的,特别是在开发、调试过程中,我们可以通过修改java entity,来自动生成表的结构,然后保存这张表,免去一步步建表的繁琐过程。
  
   提示:在jise中,可以
       双击databases面板中的数据库名来显示该数据库中的所有表;
       单击tables面板中的表名显示表中的数据;
       右击databases面板中的数据库名,复制或者删除数据库;
       删除数据库时,databases面板中的数据库名列表可以多选;
       显示数据时,在右侧的数据表格中,右键可以在“列移动模式”和“排序牧师”之间切换。在“排序模式”下,单击字段名称可以排序。在“列移动模式”下,拖动字段名称可以移动一列。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值