本帖最后由 yangdonghhm 于 2011-11-03 14:40:48 编辑

解决方案 »

  1.   

    servic里这么写的:
    Map<Object,Object> paramMap = new HashMap<Object,Object>();

    PageUtil<Users> page = new PageUtil<Users>(Constants.PAGE_SIZE);
    //设置每页大小
    page.setPageSize(Constants.PAGE_SIZE);
    //设置第几页
    try {
    page.setPageNo(Long.parseLong(pageNO));
    } catch (Exception e) {
    // TODO: handle exception
    page.setPageNo(1L);
    }
    //总共多少纪录
    long totalNum = usersDao.searchUserByShownameCount(users);
    //设置总纪录数
    page.setTotalItemNumber(totalNum);
    if(page.getPageNo()==0||page.getPageNo()==null){
    page.setPageNo(1L);
    }
    paramMap.put("loginName", users.getLoginName());
    paramMap.put("showName", users.getShowName());
    paramMap.put("fromIndex", page.getFromIndex());
    paramMap.put("pageSize",page.getPageSize());
    page.setResult(usersDao.searchUserByShowname(paramMap));
      

  2.   

    Column 'USER_ID' not found.数据库有这个字段?
      

  3.   

    检查下resultMap="resultUsers">对应的属性是否正确
      

  4.   

    感觉没有什么问题,请楼主加下log4j配置
    log4j.logger.java.sql.Connection = DEBUG  
    log4j.logger.java.sql.Statement = DEBUG  
    log4j.logger.java.sql.PreparedStatement = DEBUG  
    log4j.logger.java.sql.ResultSet = DEBUG
    查看出错前执行的sql语句,返回的结果时,按字面意思理解就是查询出结果了,但在进行resultmap映射时出错....
      

  5.   

    rg.springframework.jdbc.BadSqlGrammarException: SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:   
    --- The error occurred in com/cloudsoaring/dao/sqlmap/Users_SqlMap.xml.  
    应该是Users_SqlMap.xml中的
    <resultMap id="resultUsers" class="xxx">中没有<result column="USER_ID" property="id" jdbcType="DECIMAL" />
      

  6.   

    把resultUsers贴出来,应该是resultMap定义有问题
      

  7.   


    Column 'USER_ID' not found.
    首先怀疑这个表的字段名写错了或者是你的:返回的字段和java对象建立对应关系时错误。。id属性是否有?还有更严重的:
    <dynamic prepend="WHERE">
                <isNotEmpty prepend="AND" property="loginName">                       
                    a.LOGIN_NAME LIKE '%$loginName$%'
                </isNotEmpty>       
                <isNotEmpty prepend="AND" property="showName">
                    a.SHOW_NAME LIKE '%$showName$%'
                </isNotEmpty>
                <isNotNull property="fromIndex">
                <isNotNull property="pageSize">
                    LIMIT #fromIndex# , #pageSize#
                </isNotNull>
                </isNotNull>
            </dynamic>你这些模糊查询的部分。。有sql注入危险不是标准的sqlmap写法建议改一下
      

  8.   

    把日志模式调下把SQL打印出来 看看~~ 把SQL 一跑就知道有没有问题了·
    如果SQL 构建出来的都有问题就检查程序和配置文件~~
      

  9.   

    'USER_ID' 在数据库没这字段吧
      

  10.   

    是这么写的ResultMap
    <resultMap class="Users" id="resultUsers">
    <result column="USER_ID" property="id" />
    <result column="LOGIN_NAME" property="loginName" />
    <result column="SHOW_NAME" property="showName" />
    <result column="PASS_WORD" property="password" />
    <result column="CREATE_TIME" property="createTime" />
    <result column="GROUP_ID" property="groupId" />
    <result column="ADMIN_FLG" property="adminFlag" />
    <result column="b.ID" property="group.id" />
    <result column="b.GROUP_NAME" property="group.groupName" />
    <result column="b.HIDE_FLG" property="group.hideFlag" />
    </resultMap>
      

  11.   

    select出来的字段数目应该和resultMap里面property的数量相等吧?你a.PASS_WORD为什么有两个呀。
      

  12.   

    1.<!--结果集和对象映射-->
    <!--resultMap id="映射名" type="bean类名或主配置声明的简称"-->
    <!--result property="属性名" column="数据库字段名" /-->
    2.其实这种问题,你完全可以可以把你的sql放在数据库客户端跑一下,问题很容易解决的
      

  13.   

    我跑了一下啊,完全正常。现在是根据用户账号和名称搜索用户,需要传用户名称和账号,还要传分页的开始索引和每页大小,所以就出现了上面的sqlmap配置,但是一提交就报错了,到现在还没搞出来。太无语了,认真检查好多次了。没找到原因,sqlmap如下:<typeAlias alias="Users" type="com.cloudsoaring.entity.user.Users" />
    <typeAlias alias="Page" type="com.cloudsoaring.common.util.PageUtil" />
    <typeAlias alias="Group" type="com.cloudsoaring.entity.user.Group" />
    <resultMap class="Users" id="resultUsers">
    <result column="USER_ID" property="id" />
    <result column="LOGIN_NAME" property="loginName" />
    <result column="SHOW_NAME" property="showName" />
    <result column="PASS_WORD" property="password" />
    <result column="CREATE_TIME" property="createTime" />
    <result column="GROUP_ID" property="groupId" />
    <result column="ADMIN_FLG" property="adminFlag" />
    <result column="ID" property="group.id" />
    <result column="GROUP_NAME" property="group.groupName" />
    <result column="HIDE_FLG" property="group.hideFlag" />
    </resultMap>传的是map类型,唉,
      

  14.   

    还有更严重的:
    <dynamic prepend="WHERE">
      <isNotEmpty prepend="AND" property="loginName">   
      a.LOGIN_NAME LIKE '%$loginName$%'
      </isNotEmpty>   
      <isNotEmpty prepend="AND" property="showName">
      a.SHOW_NAME LIKE '%$showName$%'
      </isNotEmpty>
      <isNotNull property="fromIndex">
      <isNotNull property="pageSize">
      LIMIT #fromIndex# , #pageSize#
      </isNotNull>
      </isNotNull>
      </dynamic>你这些模糊查询的部分。。有sql注入危险不是标准的sqlmap写法建议改一下
    求详解
      

  15.   

    异常信息提示<result column="USER_ID" property="id" />这个配置有问题
    --- Check the result mapping for the 'id' property.  
    --- Cause: java.sql.SQLException: Column 'USER_ID' not found.
    1.检查SQL,保证结果集中有USER_ID字段
    2.检查Users Pojo,是否有id3.
    3.检查USER_ID和Users.id的类型是否匹配,不匹配需要加javaType
      

  16.   


    原来是我的返回类型写错了
    返回的数字,结果携程了User类。唉,粗心啊,害我搞了2两天,感谢诶大家的帮助