[問題] 想請問寫log到資料庫的方法
各位好
今天在加班的時候遇到一個問題不知道該怎麼解決比較好
我在做一個簡單的CRUD的介面
然後我想要把 修改前 跟 修改後的資訊存起來(log?)
我用DAO的方式操作
public interface TargetDAO{
public add(Target target);
public update(Target target);
public del(Target targeget);
}
public interface LogDAO {
public add(Log log);
}
類似這樣,我的資料庫設計的table很簡單
<Log>
================================
id, editTarget, sqlstmt, sqlwkt, timestamp
<Target>
=================================
id, name, geom, note
如果我要修改一個target, 我會這樣寫
TargetDAO target = new TargetDAOImpl();
targte.update(target);
請問在這種情況下,log的 DAO 應該要在何時使用呢?
如果是寫在 target.update 的底下,
現在是把 log 寫在 TargetDAOImpl 底下
但是這樣怎麼想怎麼蠢...
想請問如果我要 LOG CRUD 的東西
應該要把 LogDAO 寫在那邊比較好 QQ?
--
推 vividly0318:您覺得是真的還是豪小的 12/26 18:23
推 presidentbbb:五樓有經驗 他最懂 12/26 18:23
推 payme:蓋 12/26 18:24
推 inchor:蓋 12/26 18:25
推 MaYingGio:五樓勃起都有困難了 還抽插勒 12/26 18:25
推 rappig:MaYingGio:五樓勃起都有困難了 還抽插勒 12/26 18:26
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.35.158
※ 文章網址: https://www.ptt.cc/bbs/java/M.1422711165.A.65E.html
→
01/31 22:07, , 1F
01/31 22:07, 1F
→
01/31 22:08, , 2F
01/31 22:08, 2F
LogDAO 跟 LogDAOImpl 都是我自己寫的 interface, class
我不知道該在那邊使用他才是正確的寫法
如果我在 TargetDAOImpl 裡面使用他就會變成這樣
public TargetDAOImpl implements TargetDAO {
@overide
public update(Target target){
LogDAO log = new LogDAOImpl();
Log log = new Log();
String sql = "...";
log.setUpdateSql(sql);
doUpdate();
log.addLog(log);
}
變成這樣...
個人覺得十分詭異阿.... 怎麼會在 DAOImpl 裡面在去呼叫另外一個 DAO
自己又是非科班出身,很多地方不懂,所以來詢問各位的意見
我今天會看看 AOP 這個東西
非常感激!
推
01/31 22:41, , 3F
01/31 22:41, 3F
※ 編輯: love112302 (111.83.122.122), 01/31/2015 23:27:08
→
02/01 00:47, , 4F
02/01 00:47, 4F
→
02/01 00:59, , 5F
02/01 00:59, 5F
→
02/01 01:12, , 6F
02/01 01:12, 6F
→
02/01 01:13, , 7F
02/01 01:13, 7F
java 近期熱門文章
PTT數位生活區 即時熱門文章