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
- 改正后,错误成功解决
- 结果发现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其他语句也可以参考这个解决
- 查看内容,如下