溫馨提示×

溫馨提示×

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

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

如何簡化數據庫操作

發布時間:2021-12-20 10:54:41 來源:億速云 閱讀:187 作者: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

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女