Ibatis -sqlMap

Olá,

Estou começando a usar o ibatis, e no primeiro exemplo que fiz usei o 2.2… aí vi que tem o 2.3 e resolvi fazer o upgrade. Mas agora a coisa não funciona mais… segue erro e códigos

Estou usando o JDev e PostGre.

Erro:

java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath ‘/sqlMapConfig/sqlMap’. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The content of element type “sqlMap” must match “(typeAlias*|cacheModel*|resultMap*|parameterMap*|sql*|statement*|insert*|update*|delete*|select*|procedure*)+”.
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:89)
at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:63)
at bean.MapeiaSql.(MapeiaSql.java:21)
at action.Servico.(Servico.java:23)
at action.Servico.main(Servico.java:151)
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath ‘/sqlMapConfig/sqlMap’. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The content of element type “sqlMap” must match “(typeAlias*|cacheModel*|resultMap*|parameterMap*|sql*|statement*|insert*|update*|delete*|select*|procedure*)+”.
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:86)
… 4 more
Caused by: java.lang.RuntimeException: Error parsing XPath ‘/sqlMapConfig/sqlMap’. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The content of element type “sqlMap” must match “(typeAlias*|cacheModel*|resultMap*|parameterMap*|sql*|statement*|insert*|update*|delete*|select*|procedure*)+”.
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:123)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:84)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:102)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:72)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:51)
… 5 more
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The content of element type “sqlMap” must match “(typeAlias*|cacheModel*|resultMap*|parameterMap*|sql*|statement*|insert*|update*|delete*|select*|procedure*)+”.
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:51)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$11.process(SqlMapConfigParser.java:410)
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121)
… 9 more
Caused by: org.xml.sax.SAXParseException: The content of element type “sqlMap” must match “(typeAlias*|cacheModel*|resultMap*|parameterMap*|sql*|statement*|insert*|update*|delete*|select*|procedure*)+”.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:172)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2048)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:932)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1241)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:250)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
at com.ibatis.common.xml.NodeletParser.createDocument(NodeletParser.java:157)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:50)
… 12 more
Exception in thread “main” java.lang.ExceptionInInitializerError
at action.Servico.(Servico.java:23)
at action.Servico.main(Servico.java:151)
Caused by: java.lang.RuntimeException: Erro class. Cause: java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath ‘/sqlMapConfig/sqlMap’. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The content of element type “sqlMap” must match “(typeAlias*|cacheModel*|resultMap*|parameterMap*|sql*|statement*|insert*|update*|delete*|select*|procedure*)+”.
at bean.MapeiaSql.(MapeiaSql.java:29)
… 2 more

  • MapeiaSlq
package bean;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;


import java.io.Reader;



public class MapeiaSql {
    
  private static final SqlMapClient sqlMap;

  static {

    try {
        String resource = "SqlMapConfig.xml";
        Reader reader = Resources.getResourceAsReader (resource);
        sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
      } catch (Exception e) {

      e.printStackTrace();
        throw new RuntimeException (" Erro class. Cause: " + e);
    }
    }

    public static SqlMapClient getSqlMapInstance () {
      return sqlMap;
    }
    

}
  • SqlMapConfig

[code]

<?xml version="1.0" encoding="UTF-8" ?> [/code]

estou chamando assim:

        if (MapeiaSql.getSqlMapInstance()!= null) {
          System.out.println("SqlMap não é nula...!");
        }

valeu
fico no aguardo.
t+

Falta o resto do código para ver se não há dependncias de arquivos .jar, mais se vc. olhar a documentação verá que alguns arquivos .jar estão “deprecad” inclusive o iBATIS-DAC. E na versão^iBATIS 2.3 é somente usar o arquivo “ibatis-2.3.0.677.jar” e outras dependências em seu projeto.
sds.

Valeu William… mas eu consegui resolver o problema.

Além de trocar o referido .jar eu tinho deixado um erro no Teste.xml, aí dava erro e eu pensava que era no MapearSql.

Agora sei que ele verifica todos os sqlMap ao passar pelo sqlMapConfig.

Valeu

Abraço
Marcio


Logo terá uma versão para os paises de lingua Portuguesa.

William
foi daí mesmo que tirei o meu exemplo…

vamos ficar no agurdo da versão Português. Ela tem data?

t+

Abraço

Não tem não, mais vamos tentar postar p/ final de julho ok…

William, quando voce fala “vamos…”
Você esta participando da Tradução?