是这样,现在有一个系统要发布了,为了增强系统的扩展性,现在想在系统中想实现这样一个功能:录入用户信息的时候,为了扩展性, 客户希望以后对员工录入新的一列信息(是否婚否),用java 代码怎么实现啊??

解决方案 »

  1.   

    那你可以参考下HIBERNATE的源代码 看看他是如何修改表结构的 不过你的这种做法不值得推崇哦..
      

  2.   

    我个人建议 就算你想扩展用户的信息 你可以专门设置一个扩展的字段  这个字段用XML方式保存  客户想增加啥就增加啥 完全可以不用考虑改变你数据表结构
      

  3.   

    在数据库上可尝试使用sql语句添加一个字段,不会破坏原有数据。
    alter table tableName add columnName int;
    程序上需要从数据库操作层到逻辑层都改一遍,加上该字段对应数据库的操作。改动幅度取决于设计。
      

  4.   

    NND  这个想法够YD了啊  这是客户的需求提的有问题啊  要提需求变更 谁知道客户明天要不要加表额
      

  5.   

    那个, 客户说的时候, 我们老师没说什么,,他说可以实现。。 我们只根据客户的需求,搞个分析出来做。。你们谁有那么方面的源码, 借给我看看啊。。 谢谢了,, 用XML实现 我不会。。,
      

  6.   

    怎么扯到xml上了?
    楼主先告诉我们系统的大致设计结构吧,有没有数据库。
      

  7.   

    LZ用的是什么数据库哦!~~~~~~~
     
     我知道的好像只有ORCALE数据库可以实现这个
      

  8.   

    这个项目我们用spring+struts+ hibernate 实现, 我们现在还在搞客户需求
      

  9.   

    以前用的是SQLServer 现在老师让我们用Oracle, Oracle 我们还没有学, 用Oracle应该没什么问题吧。。
      

  10.   

    我也遇到过这个问题,改起来非常的繁琐,但是客户就是上帝,数据库中不加字段,功能就无法实现,要使用hibernate的话,先用sql/plus在数据库中增加一个字段,然后在模型文件中增加相应的字段就OK了,如果修改有费用的话,你就可以要得高一点了,安慰一下心情嘛,呵呵!~
      

  11.   

    做一个可以实现动态配置的表,然后客户想要加什么字段就去加,你的程序只需要读这个配置表就行了,当然如果增加的字段是有逻辑的话,那楼主就看着办吧!
    我现在做的HR系统就是这样来实现的,碰到有逻辑的部分就只需要加逻辑就可以,基本的CRUD都不用改!
      

  12.   

    你们说了那么多,, 能不能给我个小案例源码什么的, 我好研究,, 我还有好多东西不太会, 要看了才知道的。。 谢了,,邮箱:[email protected], 跟我说一声, 谢了。。
      

  13.   

    汗 都说了  一些不需要作为查询条件的数据信息 为什么一定要单独用一个字段来表示呢 ? 基本资料的扩展完全不是问题啊  用一个XML的文本字段完全可以容纳你的大部分扩展要求  
      

  14.   

    你用hibernate,你还想弄个给表格动态增加列?有点吓人!
      

  15.   

    我错了,, 那你们怎么说,给我个方法,, 要源码,, 我不会, 要看。。XML 不会用。。
      

  16.   

      又是讨要源码的  xml的操作有一个东西很方便XMLBEAN的一个插件包  不懂就去google  
    多学习下没坏处  xmlbean是很好用的一个DD  值得去研究下 
      

  17.   

    我觉得改动数据库表结构很不可取,在程序不改动的情况下,改了表结构怎么体现到界面呢?
    所以我的想法是:
    建一个表,表结构就是,四个字段:主键(id + 主表ID),列名col_name(如'性别'),内容col_text(如'男')它的主键要和你主表那条记录关联起来.这样就把扩展的字段插入到这个表.
    在画面展现的时候,用LEFT JOIN查询一下,如果有扩展字段展现就行了,不知道你有没有看懂?
      

  18.   

    这里不太需要增加数据库字段,建议是增加一个表记录扩展属性例如
    user_prop(propname, proptype ....) 每增加一个扩展属性就增加一条记录,
    user_extend(userid, propname, propvalue),每个用户对应多条扩展属性值。这样以后增加属性就比较方便,也不需要修改数据库字段了
      

  19.   

    引用 29 楼 chdw 的回复:这里不太需要增加数据库字段,建议是增加一个表记录扩展属性 例如 user_prop(propname, proptype ....) 每增加一个扩展属性就增加一条记录, user_extend(userid, propname, propvalue),每个用户对应多条扩展属性值。 这样以后增加属性就比较方便,也不需要修改数据库字段了 能不能具体点? 有点不明白其实我和chdw 想法基本一致,只是少考虑了不同用户扩展也不同,那就多加一个字段就解决了.
      

  20.   

    数据库 结构好改 一个sql就可以
    但是 已经发布的项目里 应该没有对应字段的业务逻辑吧
    有新的需求就得改代码,这个问题是前期的需求分析问题