已经在oracle数据库中建好了日志记录表,我怎么把系统里的用户操作添加进去,是每个方法写一个SQL语句?
java程序该怎么写?有例子么,我是第一次做日志管理功能,完全不会?我这个功能是在已成型的系统里加入一个日志管理功能,环境是spingMVC+hibernate映射(手写...
java程序该怎么写?有例子么,我是第一次做日志管理功能,完全不会?
我这个功能是在已成型的系统里加入一个 日志管理 功能,环境是sping MVC+hibernate映射(手写SQL)+oracle+weblogic,java语言 展开
我这个功能是在已成型的系统里加入一个 日志管理 功能,环境是sping MVC+hibernate映射(手写SQL)+oracle+weblogic,java语言 展开
4个回答
展开全部
方法1.建立表级别触发器。定制为 AFTER 级别。
2.如果你的项目中使用SPRING框架中的日志拦截,就可以在哪个方法中直接动态操作。
3,如果是简单的框架,就写一个公共类调用,,传入操作类型比如:
str=操作类型(UPDATE DELETE INSERT SEARCH)
USER=用户
MARK=操作描述
public void logTest(String str,String userid,String mark){
insert into.....,
}
2.如果你的项目中使用SPRING框架中的日志拦截,就可以在哪个方法中直接动态操作。
3,如果是简单的框架,就写一个公共类调用,,传入操作类型比如:
str=操作类型(UPDATE DELETE INSERT SEARCH)
USER=用户
MARK=操作描述
public void logTest(String str,String userid,String mark){
insert into.....,
}
追问
嗯好像用第三个:老大说写一个方法,其他的每个都调用。sping的配置不能用,第三个能详细点么?谢谢哦
追答
这个要看你用的是什么拦截机制,如果你是自己写的拦截,就可以使用注解或其他的方式。
如果不是,那你就自己写个拦截器或过滤器,就是在每个方法执行的时候都调用这个方法进行操作。实在笨的办法就是写个类,在每个方法中都调用就号了。就像LOG4J一样
展开全部
当然,写一个带参数的共通接口方法,每个操作调用一下就可以了
更多追问追答
追问
方法里的参数,我该怎么获得呢?难道是调用方法是在其他方法里添加语句取出参数?
追答
共通方法最基本应该有 三个参数,一是从session里取到用户的ID作为第一个参数,二是看看当前方法是做什么的,例如(insertAccount或着updateAccout)作为第二个参数,三是把系统时间作第三个参数,把这三个参数登录到你新建的日志表里,就可以知道这个用户在什么时间做了什么事情。
public void eventRecord(String userId,String insertAccount,Date sysTime){
//三个参数插入到数据库日志表中
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询