您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何簡化數據庫操作”,在日常操作中,相信很多人在如何簡化數據庫操作問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何簡化數據庫操作”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
我們在寫代碼的時候,什么東西讓我們最痛苦? 我想大部分人都會說是重復的工作,但是重復的工作又是指什么呢? 我想了想可能包含以下幾點:
實體類
建sqlMapper.xml,或者其他框架的注解映射
建DAO去關聯sqlMapper.xml,或者用代碼去替代sql
Controller
所以我在想,如果可以不需要實體類,不需要sqlMapper.xml,不需要Controller就好了,這樣一來,如果需要開發一個后端功能,只需要寫Service就好了,而這一段幾乎是編程中最有樂趣的地方(僅限應用層編程,底層研發的當我沒說)
而Mars-java就是在這樣的一個思路下誕生的
只需要在Service的父接口上加上兩個注解,即可對外提供一個http接口,又或者可以重新創建一個interface+注解 去代替Controller
操作數據庫只需要一行注解,沒有sqlMapper.xml
如果你能夠接受無實體類編程的話,可以不創建實體類,而采用Map
如果我們需要寫一個登錄接口只需要這么幾步
@MarsDao public abstract class UserInfoDAO { // 可以返回Map也可以返回實體類 @MarsSelect(sql = "select * from `userinfo` where uname=#{uname} and passwd=#{passwd}") public abstract List<Map> selectUserInfo(Map<String, Object> userInfo); }
按照慣例來說,我們需要先寫一個interface,再寫一個實現類
Interface
public interface UserInfoService { UserInfo login(Map<String, Object> userInfo); }
實現類
@MarsBean public interface UserInfoServiceImpl implements UserInfoService { public UserInfo login(Map<String, Object> userInfo){ // 在這里面調用DAO } }
只需要在UserInfoService上加兩個注解即可
@MarsApi public interface UserInfoService { @MarsReference(beanName = "userInfoServiceImpl",refName = "login") UserInfo login(Map<String, Object> userInfo); }
整個流程省掉了很多重復性的代碼,讓我們專注在Service這一層
到此,關于“如何簡化數據庫操作”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。