從零開始寫ORM框架系列3

該系列完整的代碼可以在我的git下載到


做好了準備,下面讓我們來開始準備拼SQL。

前面提到了,我們有一個SqlBuilder類,專門用來拼add、delete、query、update的sql語句。毫無疑問,所有的這些拼語句的方法,傳入的肯定是BaseModel類型的值。

我們首先看下add語句的sql


Delete、update、query的語句都類似,就不一一貼出來了。

有了SQL語句,我們就可以開始寫BaseDao方法了。


需要注意的是,這個有一個參數排序的過程。

然后我們在看一下executeUpdate和executeQuery的實現。



查詢和新增不同點在于,查詢需要把ResultSet轉換為對象。因此,我們提供了一個轉換類RsMapper,類里有一個轉換方法rsMapToEntityList。不難看出, 我們是通過反射的方式來進行,后續我覺得應該把這些全部Method全部緩存起來,這樣應該可以很大程度上提高系統性能。


最后,我們得提供一個真正用于執行update和query的類DBUtil,這個類負責去拿到連接串、賬號、密碼,并且執行update和query。



到這里, 我們就基本完成了所有的功能。下一步,我們將開始測試這些方法,并且完成CodeGen,幫我們根據表名,自動生成實體類。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容