進行**檢查的時候,被同事發現了乙個問題,dao層中不管是update,insert,delete還是select操作,統一用的是,但是我在使用的時候結果並沒有錯誤,但為了規範,在此做一下總結,貼出**留個教訓。
1、select操作
service層中:selectone—>查詢一條記錄;select—>查詢多條記錄;返回值—>hashmap
mapselmap=commdao.selectone(kfsgl + "kfsgl_s", paramsmap);
mapselmap=commdao.select(kfsgl + "kfsxx_q", paramsmap);
dao層中:
select id,kfsmc,kfsdm,lxrxm,lxdh,lxrsm,yxdz,txdz,kfsms
from fw_sypt_kfsjlb
where id=#
select id kfsid, kfsmc as kfs_xz
from fw_sypt_kfsjlb
where 1=1 and yxbz = '1'
2、update操作service層中:update—>更新;返回值—>int
if(id!=null&&id!="")
dao層中:可以不寫resulttype,細節方面要注意
update fw_sypt_kfsjlb
kfsmc =#,
kfsdm =#,
lxrxm =#,
lxdh =#,
lxrsm =#,
yxdz =#,
txdz =#,
kfsms =#,
cjr =#,
cjsj =sysdate
id = #
3、insert操作service層中:insert—>插入;返回值—>int
temp=commdao.insert(kfsgl + "kfsgl_i", paramsmap);
dao層中:可以不寫resulttype,細節方面要注意
insert into fw_sypt_kfsjlb(id,kfsmc,kfsdm,lxrxm,lxdh,lxrsm,yxdz,txdz,kfsms,yxbz,cjsj,cjr)
values(seq_sypt_kfsjlb_id.nextval,#,#,#,#,#,#,#,,'1',sysdate,#)
4、delete操作由於資料很重要,作用非常大,因此在實際開發中,基本上是不存在物理上的刪除資料的,只是邏輯上的刪除資料,僅僅只是讓使用者覺得自己刪除了資料,實際開發中的delete一般用update操作來代替。這裡為了總結,還是寫一寫delete操作。
service層中:delete—>刪除;返回值—>int
temp=commdao.delete(kfsgl + "kfsgl_d", paramsmap);
dao層中:可以不寫resulttype,細節方面要注意
delete from fw_sypt_kfsjlb where id='#'
5、總結service層中統一呼叫了select(),用於進行update,insert,delete還是select操作(dao層配置sql語句還是沒有改變,還是用了update,insert等等關鍵字),結果並沒有錯誤,原因可能是因為service中查詢mybatis中的配置資訊時,僅僅還是根據id找到相應的sql語句進行執行,並沒有匹配service中的函式呼叫是否和mybatis中配置的一樣。但是這類問題要規避,因為現在沒有問題不代表之後沒有問題,缺陷都是隱藏在沒有被發現,還是要注重規範。 java中dao層和service層的區別是什麼?
首先解釋面上意思,service是業務層,dao是資料訪問層。呵呵,這個問題我曾經也有過,記得以前剛學程式設計的時候,都是在service裡直接呼叫dao,service裡面就new乙個dao類物件,呼叫,其他有意義的事沒做,也不明白有這個有什麼用,參加工作久了以後就會知道,業務才是工作中的重中之重...
dao層 service層 事務的理解
dao層 對應資料最底層操作,一般來說,乙個資料庫table對應乙個dao,單錶操作。service層 把客戶多方面要求進行彙總,對外只有引數即可,至於服務層操作多少個dao與客戶無關。事務四大特性 1.原子性 原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。2.一致性...
DAO層和Service層的究極理解
先看後贊,養成習慣。點讚收藏,人生輝煌。說實話,學了挺久的mvc架構了,到現在也一直沒整明白service層和dao層是幹什麼用的,哪怕我目前已經學到了spring boot,但回過頭來看這些基礎知識,依然是不明就裡。感覺service層並沒有做什麼實際的工作,只是接受了servlet,同時又呼叫了...