SSM集成activiti6.0错误集锦(二)

项目环境

  • Maven构建
  • 数据库:Orcle12c
  • 服务器:Tomcat9
  • <java.version>1.8</java.version>
  • <activiti.version>6.0.0</activiti.version>
  • <springframework.version>5.0.4.RELEASE</springframework.version>
  • <mybatis.version>3.4.5</mybatis.version>

问题

问题一:在配置Activiti数据库后,启动Activiti-explorer时,发现总报 “ORA-12505, TNS:listener does not currently know of SID given in connect desc ."

  • 解决步骤
    • 按照网上解决办法:在ORACLE的监听文件listener.ora中添加参数配置,大致如下,未成功解决
      SID_LIST_LISTENER =
              (SID_LIST =
                   (SID_DESC =
                         (SID_NAME = PLSExtProc)
                         (ORACLE_HOME = /opt/oracle/product/10.2.0/db_1)
                         (PROGRAM = extproc)
                   )
                  (SID_DESC =
                         (GLOBAL_DBNAME = orcl)
                         (ORACLE_HOME = /opt/oracle/product/10.2.0/db_1)
                         (SID_NAME = orcl)
                  )
              )
    • 查找orcle数据连接信息,我的配置如下
      ##orcle
      db.driver=oracle.jdbc.driver.OracleDriver
      db.username=C##ZHULU
      db.password=950128
      db.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl?useUnicode=true&characterEncoding=utf8
      • 结果发现orcle的url配置错误:不能附带参数,改正后应为
        db.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
      • 改正后,错误成功解决

问题二:Mybatis报错:  Cause: org.xml.sax.SAXParseException; lineNumber: 49; columnNumber: 83; 必须为元素类型 "update" 声明属性 "resultMap"

  • 错误原因:在mybatis3的mapper.xml映射文件中,update语句中不可以存在resultMap
  • 判断依据
    • 查找mybatis3的源码,我的是mabatis-3.4.5.jar——>builder——>xml——>mybatis-3-mapper.dtd,如下图所示

  

    • 查看内容,如下
      <!ELEMENT update (#PCDATA | selectKey | include | trim | where | set | foreach | choose | if | bind)*>
      <!ATTLIST update
      id CDATA #REQUIRED
      parameterMap CDATA #IMPLIED
      parameterType CDATA #IMPLIED
      timeout CDATA #IMPLIED
      flushCache (true|false) #IMPLIED
      statementType (STATEMENT|PREPARED|CALLABLE) #IMPLIED
      keyProperty CDATA #IMPLIED
      useGeneratedKeys (true|false) #IMPLIED
      keyColumn CDATA #IMPLIED
      databaseId CDATA #IMPLIED
      lang CDATA #IMPLIED
      >

      我们会发现,在mybatis3中的mapper.xml映射文件中的update语句已经没有了resultMap属性,所以我们配置将会报错。

    • 所以我们在自己的update语句中不可配置resultMap属性,问题解决。
    • 比如insert其他语句也可以参考这个解决

  

原文地址:https://www.cnblogs.com/zuiyue_jing/p/8990851.html