SSM集成activiti6.0錯誤集錦(二)
阿新 • • 發佈:2018-05-11
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
- 查找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
- 結果發現orcle的url配置錯誤:不能附帶參數,改正後應為
db.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
- 改正後,錯誤成功解決
- 結果發現orcle的url配置錯誤:不能附帶參數,改正後應為
- 按照網上解決辦法:在ORACLE的監聽文件listener.ora中添加參數配置,大致如下,未成功解決
問題二: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錯誤集錦(二)