1. 程式人生 > >SSM集成activiti6.0錯誤集錦(二)

SSM集成activiti6.0錯誤集錦(二)

build eid ava maven構建 foreach PC mybatis date 映射文件

項目環境

  • 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其他語句也可以參考這個解決

  

SSM集成activiti6.0錯誤集錦(二)