我写了一个查询语句
 <select   id="getUser"   parameterClass="Sting" resultClass="java.util.HashMap">   
                                      SELECT   *   FROM   t_section WHERE   course_id=#COUSE_ID#   
                  </select>  我在DAO 里边 调用:
 Sting COURSE_ID=1;
 queryForLIst("getUser",  COURSE_ID);   在后台显示,COURSE_ID 已经被取到,但是就是取不到数据。queryForLIst("getUser",  COURSE_ID); 返回之为空。如果我在
 <select   id="getUser"   parameterClass="Sting" resultClass="java.util.HashMap">   
                                      SELECT   *   FROM   t_section WHERE   course_id=#COUSE_ID#   
                  </select>  
这个里边写死:
 <select   id="getUser"   parameterClass="Sting" resultClass="java.util.HashMap">   
                                      SELECT   *   FROM   t_section WHERE   course_id=‘1’;   
                  </select> 
则能正常查处数据。
请问各位高手这是什么问题啊,请帮忙!!!!!!!!谢谢!!!!!!!

解决方案 »

  1.   

    应该是参数没传进去的原因
    SELECT  *  FROM  t_section WHERE  course_id=#COUSE_ID# course (漏了一个r) 
                      </select>  我在DAO 里边 调用: 
    Sting COURSE_ID=1; 
    queryForLIst("getUser",  COURSE_ID);  
      

  2.   

    代码太乱了,怀疑是不是java代码,大小写乱套楼主还是把文件里代码拷贝出来吧,看着也舒服些如果真如楼主所说,建议ibatis重新下载或换个版本
      

  3.   

    parameterClass="Sting"  ????parameterClass="java.lang.String"
      

  4.   

    parameterClass="Sting"  这么写也是有问题的 应该这样parameterClass="java.lang.String"
      

  5.   

    <select id="getUser" parameterClass="Sting" resultClass="java.util.HashMap">   
      SELECT * FROM t_section WHERE course_id=#value# 
      </select>如果只有string的话,参数要写成 #value#
      

  6.   

    你的问题有点多啊 ...
    parameterClass="Sting" 这里的明显的写错了呀  Sting里少了个String
    还有
    Sting COURSE_ID=1;   COURSE_ID是一个字符串变量..赋值应该加上双引号的啊.在这里并不需要写全  但String就行了..
    还有参数只有1个的时候  参数的名字是可以随便写的呀...
    还有楼主说在控制台能输出过COURSE_ID的值是装过插件的吗?
    而且楼主的返回类型是一个MAP集合...我是个刚刚学JAVA的人说以不太清楚...所以想问下楼主  楼主是修改过IBatis的底层代码吗?  不然我觉得是不可能返回一个MAP集合的 ..因为我觉得IBatis不太可能会帮你封装键和值的..还有  resultClass里面我觉得应该是写查询到那条或多条记录的数据类型(像什么基本类型的引用类型的,对象..等).
    我用map  list  object数组都试过  前两种提示造型异常(难道楼主能正常显示数据真的是修改过底层代码?高手啊 )..后者就不能写进去,写进去了直接报错...
      

  7.   

    感觉可能是 parameterClass=""  参数问题.
      

  8.   

    我写了一个查询语句
     <select id="getUser" parameterClass="Sting" resultClass="java.util.HashMap">   
      SELECT * FROM t_section WHERE course_id=#COUSE_ID#   
      </select>   我在DAO 里边 调用:
     Sting COURSE_ID=1;
     queryForLIst("getUser", COURSE_ID); 或则也可以6L那样写
      

  9.   

    <select id="getUser" parameterClass="Sting" resultClass="java.util.HashMap">   
      SELECT * FROM t_section WHERE course_id=#COUSE_ID#   
      </select>resultClass="java.util.HashMap"
    resultMap="在resultMap id里定义的那个,比如:User"
      

  10.   

    <select id="getUser" parameterClass="Sting" resultClass="java.util.HashMap">
       <dynamic prepend="">
           SELECT * FROM t_section WHERE course_id=#value# 
       </dynamic>  
    </select>