网上解决方案
1.起初没有创建序列s_log,因此需要在Oracle补上s_log序列。
<!-- 增加 日志 -->
<insert id="logSave"
parameterClass="com.reportcenter.sys.dto.OperateLogDto">
INSERT INTO
T_LOG(C_AUTOID,USRCDE,USRADDRESS,OPERATION,BEGINTME,ENDTME,OPERATETIMER,STATE,MESSAGE) VALUES(s_log.nextval,#usrCde#,#usrAddress#,#operation#,#beginTme#,#endTme#,#operateTimer#,#state#,#message#)
</insert>
2.接着就出现下面的问题,主要是usrCde(日志表里的用户代码)属性在系统登陆验证时为空值所致。因此在相应代码处加上对空值的判断,如果为空,就从登陆页面取得userCde值。
if (request.getSession().getAttribute(Constants.usrCde) == null) {
usr = request.getParameter("userCde");
} else {
usr = (String) request.getSession().getAttribute(
Constants.usrCde);
}
标签:log,SQL,request,state,usrCde,SqlMapClient,operation,null,Constants
From: https://blog.51cto.com/u_16070335/6189854