已经在oracle数据库中建好了日志记录表,我怎么把系统里的用户操作添加进去,是每个方法写一个SQL语句?

java程序该怎么写?有例子么,我是第一次做日志管理功能,完全不会?我这个功能是在已成型的系统里加入一个日志管理功能,环境是spingMVC+hibernate映射(手写... java程序该怎么写?有例子么,我是第一次做日志管理功能,完全不会?
我这个功能是在已成型的系统里加入一个 日志管理 功能,环境是sping MVC+hibernate映射(手写SQL)+oracle+weblogic,java语言
展开
 我来答
dngoryaner
2013-03-25 · TA获得超过2350个赞
知道小有建树答主
回答量:2404
采纳率:0%
帮助的人:1120万
展开全部
方法1.建立表级别触发器。定制为 AFTER 级别。
2.如果你的项目中使用SPRING框架中的日志拦截,就可以在哪个方法中直接动态操作。
3,如果是简单的框架,就写一个公共类调用,,传入操作类型比如:
str=操作类型(UPDATE DELETE INSERT SEARCH)
USER=用户
MARK=操作描述
public void logTest(String str,String userid,String mark){
insert into.....,
}
追问
嗯好像用第三个:老大说写一个方法,其他的每个都调用。sping的配置不能用,第三个能详细点么?谢谢哦
追答
这个要看你用的是什么拦截机制,如果你是自己写的拦截,就可以使用注解或其他的方式。
如果不是,那你就自己写个拦截器或过滤器,就是在每个方法执行的时候都调用这个方法进行操作。实在笨的办法就是写个类,在每个方法中都调用就号了。就像LOG4J一样
冰火两重天
2013-03-25 · TA获得超过1425个赞
知道小有建树答主
回答量:1489
采纳率:0%
帮助的人:982万
展开全部
2种方式:
1.写一个专门的方法往数据库写操作日志,然后你各个操作的方法里面调用。
2.使用Spring的动态代理。
追问


但是那个参数的怎么取,那个内容根据具体方法可以写,其他的怎么能在DAO里取出呢?

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuezxj
2013-03-25 · TA获得超过1683个赞
知道小有建树答主
回答量:1728
采纳率:100%
帮助的人:695万
展开全部
在角色里添加,不用sql语句
更多追问追答
追问

不懂,您能详细点么?我不知从何下手额

追答
不好意思,第一回答的时候你还没上传图片,所以回答错了
日志表是,每个用户操作的时候,你可以记录一条数据到数据库的
也就是往日志表插入一条数据
跟别的操作数据库的语句是一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wxpizh
2013-03-25
知道答主
回答量:32
采纳率:66%
帮助的人:12.2万
展开全部
当然,写一个带参数的共通接口方法,每个操作调用一下就可以了
更多追问追答
追问
方法里的参数,我该怎么获得呢?难道是调用方法是在其他方法里添加语句取出参数?
追答
共通方法最基本应该有 三个参数,一是从session里取到用户的ID作为第一个参数,二是看看当前方法是做什么的,例如(insertAccount或着updateAccout)作为第二个参数,三是把系统时间作第三个参数,把这三个参数登录到你新建的日志表里,就可以知道这个用户在什么时间做了什么事情。
public void eventRecord(String userId,String insertAccount,Date sysTime){
//三个参数插入到数据库日志表中
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式