此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【tracyjoy】截止到2008-06-23 17:51:14的历史汇总数据(不包括此帖):
发帖数:5                  发帖分:115                
结贴数:2                  结贴分:70                 
未结数:3                  未结分:45                 
结贴率:40.00 %            结分率:60.87 %            
楼主该结一些帖子了

解决方案 »

  1.   

    数据库里有记录吧,看配置差不多没问题
    把下面的select role 改成select* 试试<!-- 获取角色真实名 -->
      <select id="getRole" parameterClass="int" resultMap="role">
        SELECT
          ROLE
          FROM TBL_CSJ_ROLE WHERE ID=#value#
      </select> 
      

  2.   

    com.uucun.csjexam.entity.Account类中有没有com.uucun.csjexam.entity.Role类的实例
      

  3.   

    Account类中不需要Role实体类吧,我存在个List类 用来获取Role类的集合。
      

  4.   

      <select id="getAccountCount" resultClass="java.lang.Integer"> 
    SELECT COUNT(*) C FROM TBL_CSJ_ACCOUNT 
    <dynamic prepend="WHERE"> 
    <isNotEmpty prepend="AND" property="id"> ID = #id# </isNotEmpty> </dynamic> 
      </select> 缺少parameterClass
      

  5.   

    account中role是什么类型
    手册上应该有例子的
    如果用这种one-to-many模式,说实话,还不如去用hibernate方便
    1+n的效率很差ibatis方便在于可以随便加关联的字段,而且不用完全映射
      

  6.   

    试试
    <select id="getRole" parameterClass="int" resultMap="role"> 
        SELECT 
          ID, ROLE 
          FROM TBL_CSJ_ROLE WHERE ID=#value# 
      </select> 感觉像是resultMap映射异常
      

  7.   

    N+1我还没试过效率多么低,主要我用的轻量级的开发,所以选择ibatis.getAccountCount的Select不需要parameterClass,没有引用任何参数,getRole的Select我每个字段都对应啦,真是奇怪啦~。
      

  8.   

      <result property="role"  select="getRole" column="ROLE_ID" /> 问一下,这里的ROLE_ID是什么意思,这里的column存的是ACCOUNT的id,也就是ROLE表的外键
    你的命名有问题,还是写错了
      

  9.   


    column存的是ROLE_ID 和ROLE表中的ID对应的。
      

  10.   

    试试 
    <select id="getRole" parameterClass="int" resultMap="role"> 
        SELECT 
          ID, ROLE 
          FROM TBL_CSJ_ROLE WHERE ID=#value# 
      </select> 
      

  11.   


    你的column应该存放ROLE表对应ACCOUNT外键,也就是ACCOUNT_ID,应该这样
    <result property="role"  select="getRole" column="ACCOUNT_ID" />根据它来检索子集合嘛
      

  12.   


    你的类是一对多的关系,一是Account,多是Role的集合list,那在你的ROLE表里应该存放ACCOUNT的id
    当你检索ACCOUNT的时候,要根据ACCOUNT_ID来检索ROLE里的相应结果集,要弄清楚过程
    所以这里的column是ACCOUNT_ID