xml
<select id="getPagePrototypeStorage" resultClass="prototypeStorage" parameterClass="prototypeStorage">
      SELECT * FROM tb_prototype_storage where 1=1  
</sql>
java代码
sqlMapClient.queryForList("getPagePrototypeStorage",prototypeStorage);以前用mysql能正常查询和分页,现在换成oracle后,提示:SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束打印sql一看发现sql后面自动加上了 limit ?,?,可是我现在已经换成了oracle,如何才能让ibatis自动识别数据库呢?

解决方案 »

  1.   

    <select id="getPagePrototypeStorage" resultClass="prototypeStorage" parameterClass="prototypeStorage">
          SELECT * FROM tb_prototype_storage where 1=1  
    </sql>
    结束标志怎么事</sql>,应该是</select>吧
      

  2.   


    这是我打错了,实际中没有这问题,主要问的是我换了oracle数据库后他还自动在sql后面加limit这个问题怎么解决?
      

  3.   

    mysql分页使用的是limit,而oracle使用的是rownum,你看看配置哪是不是没改过来
      

  4.   

    ibatis会根据配置的数据源自动识别数据库的 估计是你配置有问题 吧配置文件发出来看看
      

  5.   

    ibatis 没有这么智能的,需要手写,少年。
    另外 既然用了ibatis 为什么还有这种 where 1=1  拼sql时代留下的丑陋东东?
      

  6.   


    扯淡呢,你开发的?有这么好早就淘汰Hibernate了。
      

  7.   

    看你发的</SQL>就知道,你那个limit(?,?)是事先写在一个类似<SQL id="paged">的节点里,然后用<sql id="paged"></sql>引到了主SQL语句后面,连自己的框架代码都认不全,你改什么?
      

  8.   

    确实是我错了,以前同事把包重新封装了,是后面自己加上去的,并不是标准的官方ibatis jar包