中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何簡化數據庫操作

發布時間:2021-12-20 10:54:41 來源:億速云 閱讀:169 作者:iii 欄目:軟件技術

這篇文章主要介紹“如何簡化數據庫操作”,在日常操作中,相信很多人在如何簡化數據庫操作問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何簡化數據庫操作”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

我們在寫代碼的時候,什么東西讓我們最痛苦?  我想大部分人都會說是重復的工作,但是重復的工作又是指什么呢?  我想了想可能包含以下幾點:

  1. 實體類

  2. 建sqlMapper.xml,或者其他框架的注解映射

  3. 建DAO去關聯sqlMapper.xml,或者用代碼去替代sql

  4. Controller

所以我在想,如果可以不需要實體類,不需要sqlMapper.xml,不需要Controller就好了,這樣一來,如果需要開發一個后端功能,只需要寫Service就好了,而這一段幾乎是編程中最有樂趣的地方(僅限應用層編程,底層研發的當我沒說)

而Mars-java就是在這樣的一個思路下誕生的

  1. 只需要在Service的父接口上加上兩個注解,即可對外提供一個http接口,又或者可以重新創建一個interface+注解 去代替Controller

  2. 操作數據庫只需要一行注解,沒有sqlMapper.xml

  3. 如果你能夠接受無實體類編程的話,可以不創建實體類,而采用Map

簡單示例

如果我們需要寫一個登錄接口只需要這么幾步

創建一個DAO
@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);
}
創建Service

按照慣例來說,我們需要先寫一個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
  }
}

開放一個http接口

只需要在UserInfoService上加兩個注解即可

@MarsApi
public interface UserInfoService {

  @MarsReference(beanName = "userInfoServiceImpl",refName = "login")
  UserInfo login(Map<String, Object> userInfo);
}

整個流程省掉了很多重復性的代碼,讓我們專注在Service這一層

到此,關于“如何簡化數據庫操作”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民和| 安溪县| 阿巴嘎旗| 乐昌市| 凉山| 杨浦区| 南康市| 东方市| 通化市| 酒泉市| 玛纳斯县| 沐川县| 益阳市| 漳平市| 原平市| 时尚| 南岸区| 冀州市| 崇州市| 涞水县| 宁远县| 乌什县| 松溪县| 宜城市| 栖霞市| 汤阴县| 阳谷县| 正镶白旗| 大宁县| 南平市| 凤城市| 阿城市| 涞水县| 金塔县| 瓮安县| 大足县| 甘德县| 甘泉县| 新兴县| 凤阳县| 翼城县|