项目是用Struts Spring Hibernate三个框架整合开发的,这个项目不是我开发的,需要维护和修改,在原基础上新增功能。
我详细看了下项目的源代码,其中是用Annotation注解模式进行配置,而我所学的是用xml进行配置,对Annotation一点也不懂。现在的问题:
1、我可以用xml文件的形式跟项目整合开发吗?如果可以,跟原项目兼容吗?
2、否则只能用JSP+JavaBean去开发,因为时间比较紧,我想先用JDBC开发模式(模式一),其实我就是想用原有项目SSH配置好的数据源和连接池进行JSP+JavaBean的开发,但是问题不知道怎么获取getConnection()、createStatement()?才开始学SSH 请给点建议,先谢了

解决方案 »

  1.   

    1可以用xml在原项目配置,不过你要去除annotation,不然你会重复配置,annotation的好处是减少代码,我建议还是学下annotation。
    2其实很简单,你可以不管原项目的配置,自己去建个JDBC,自己去建个连接数据库的connection就和以前的代码是一样的,原项目的配置是封装了的。
      

  2.   

    同时使用annotaion和*.hbm.xml是完全可以的!   不过这些bean可以不能重复,不然会报异常!
    至于使用hibernate的话,看看有没有hibernatesessionFactory这个类,如果没有的话就自己去写过,网上一搜一大堆的,可以读取你的hibernate配置文件的!    至于spring的话,最好去结合struts用吧!
      

  3.   

    回1、2楼
    时间允许的话,我当然愿意去接受新的东西,现在学估计是来不及了 下个月15号就要交差的事
    3楼
    到最后没办法,才选的,不过我现在是想看看有没有其它办法。至少直接去读取init.properties的数据库文件,要不然我就得配置2个数据库配置文件
    4楼
    原项目是用init.properties来配置数据库相关属性,不知道能不能直接去读?,另你说的hibernatesessionFactory工具类是读取hibernate.cfg.xml文件的。spring我还没开始学
      

  4.   

    人都是在不会中前进,你去看看使用注解进行开发的书籍,其实说不定你有另一番景象。你的技术可以很大的进步。虽然使用javabean开发也可以
      

  5.   

    时间紧,就先按照人家的写,代码差不多都那样,copy就完了,花个一两天熟悉熟悉就开始写了,日后有时间再学习
      

  6.   

    时间紧,就先用JSP+JavaBean去开发 以后慢慢再学
      

  7.   

    另外推荐用C3P0和DBCP作连接池的管理 参考
      

  8.   

    呵呵用jsp的话,,代码量比较大,我觉得你开发周期会长很多,,还不如拿几天时间学学实在要用jsp的话,那你直接用以前的ini.properties,直接去读就行了呗重新用jdbc封装一个取得数据库连接的代码就行了。。这里有jdbc连接池代码:
    http://www.diybl.com/course/3_program/java/javajs/200797/70082.html你没有用hibernate和spring,以前的连接池很难用到除非以前就用的jdbc的
      

  9.   

    用了SSH怎么还去用jdbc呢,不会因为你只会jdbc吧,我觉得是一个很大地学习机会,可能会有比较大的压力,如果你能克服这些困难,无论是从技术上还是能力上,都会让你有一个质的飞越。有问题就去解决啊,不去解决永远都是一个问题,如果下一个项目还是SSH那你怎么办,还不是照样要去学,以后学,还不如现在学,那以后碰到了那还不是小case,有什么不会的就多问问周围的同事啊 
      

  10.   

    其实用JSP + Bean 开发代码太混乱了。。
       既然用到了SSH了。。又是用注解注入的。。还怕写Action啊。。
        
     还有。要是你用到了Spring了。。连接后台的数据库交给Spring管理。。
       在Hibernate中写上需要对数据库的操作就行,(HQL、SQL语句都行)
    如果说你是想学习的话。。用JDBC也行。。但是JDBC用了一次和多次都是一样的方式。。
      

  11.   

    注解形式易于理解,并且可以减少大量代码,
    至于数据库之类的都可以配在spring配置文件里进行统一管理
      

  12.   

    用户表
    tab_users(user_id,name,age,type,score) --type为1=学生、3=老师
    教师为学生打分表
    tab_score(teac_user_id,stu_user_id,score)--teac_user_id,stu_user_id是联合主键请问如何用Annotation注解?
      

  13.   

    楼主你去大不列颠了吧,这么多天还不会用,照葫芦画瓢吧。@Table(name = "tablename", catalog = "dbname")
    public class XXX{
            private Integer id;
            private String userName;        @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "id", unique = true, nullable = false)
    public Integer getId() {
    return this.id;
    } public void setId(Integer id) {
    this.id = id;
    } @Column(name = "username", length = 20)
    public String getUserName() {
    return this.userName;
    } public void setUserName(String userName) {
    this.userName = userName;
    }
    }
      

  14.   

    是兼容的,可是如果要XML方式配置,那所以的配置都要重写
      

  15.   


    //在User实体里增下面的代码虽然可以,但在tab_score表里不会创建score列。
    @ManyToMany(targetEntity = User.class, cascade = { CascadeType.PERSIST,
    CascadeType.MERGE })
    @JoinTable(name = "tab_score", joinColumns = { @JoinColumn(name = "teac_user_id") }, inverseJoinColumns = { @JoinColumn(name = "stu_user_id") })
    private Set<User> users = new HashSet<User>(0);想在tab_score表里创建score列怎么办?