之前一直用的hibernate,现在由于sql复杂所以不得不用jdbc了,但有几个问题!
我用jdbc能否查询除了结果集然后将他们的属性装载入一个对象?
就是比如用hibernate时可以query.list查询出一个结果集list,然后我可以在hql的头部new com.....我可以new一个对象,然后每一个list里的值就是我new出来的对象了,那用jdbc能不能做到呢?

解决方案 »

  1.   

    List<对象> list=new ArrayList<对象>();
    对象  obj=null;
    遍历结果集{
        obj=new 对象();
        obj.set属性(从结果集中取值)
        list.add(obj);
    }
      

  2.   

    jdbc没什么做不了的
    可能需要你自己写部分代码
      

  3.   

    其实就是自己实现一个简单的ORM映射,主要使用反射和ResultSetMetaData这个类
      

  4.   

    List<Object> lilst = new ArrayList<Object>();Object ob = new Object();.......sql语句查询while(rs.next()) {
       ob.setXXX(rs.getXXX());
       list.add(ob);
    }
      

  5.   

    当然可以啦,首先写一个和各属性对应的类,然后对查询到的结果一个一个封装到对象中就可以了啊。比如写了这样一个类Test,可以这样写:
    while(rs.next()){
    Test test=new Test();
    test.xxx=rs.getXxx(1);
    test.xxx=rs.getXxx(2);
    ...
    }这样就把查询到的结果封装到了Test中了,如果有多条记录的话,可以再把test一个个装到ArrayList中。
      

  6.   

    当然可以啦!
    其实JDBC比hibernate还灵活。
    只是要自己封装代码
    而hibernate只是已经封装好了的。
      

  7.   

    只不过需要自己另外新建个Test类就可以
      

  8.   

    对于数据库来说jdbc没什么做不了的,只是需要自己写部分代码。对象间的数据保存需要自己手写赋值
      

  9.   

    说到这里,有人帮我解释一下hibernate是怎么实现list的吗?请帮我解释一下hibernate相关代码。
      

  10.   

    源码:public List list() throws HibernateException {
    verifyParameters();
    Map namedParams = getNamedParams();
    before();
    try {
    return getSession().list(
    expandParameterLists(namedParams),
            getQueryParameters(namedParams)
    );
    }
    finally {
    after();
    }
    }session通过createQuery得到一个query对象,Query对象有个实现类,就是QueryImpl,它调用list方法得到最后的list。简单流程就是这样,如果想详细分析还得把所有代码关联起来。
    http://download.csdn.net/source/1710020这个是下载地址。
      

  11.   

    可以的.你查出来的是一个Object[]   自己根据你查出来的字段,拿出相就的东西进行组装就行.
      

  12.   

    lz,这个世界上除了hibernate能做持久层操作以外,还有spring的jdbctemplate、ibatis的sqlmap,等等等等,他们基本都是基于jdbc技术实现的,另外,企业级应用没人会直接用JDBC的,写着玩还差不多。
      

  13.   

    不用jdbc,
    参阅hibernate的SQLQuery用法
      

  14.   

    可以这么告诉你 Hibernate能做的 用JDBC 完全可以做到  就是代码量多一些。
      

  15.   

    当然可以啦!
    其实JDBC比hibernate还灵活。
    只是要自己封装代码
    而hibernate只是已经封装好了的。
      

  16.   

    完全可以实现,JDBC做起来也蛮方便的,,,我支持JDBC   ^_^
      

  17.   

    hibernate的底层就是jdbc啊!!肯定能实现的啊