寫之前的說明
其實吧。
這個東西已經寫好了,地址在:github.com/hjx60149632… 這系列文章算是我寫的過程的總結吧。(恩系列,說明我可能會寫好久,╮(╯▽╰)╭)
現在有很多的現成的orm框架,為什麼還要自己寫一個?
框架這種東西個人認為想要了解其中的原理,還是要自己嘗試實現一個來的比較快。我是那種不愛看原始碼的程式設計師,除非是有些地方實在沒有思路或者網上也找不到相關的文章,否則是不會去看原始碼的。懶~~~
寫這個的目的是什麼?
現在流行的orm比如hibernate,mybatis等等,需要配置太多了,實在記不住。所以就自己寫一個自己用起來方便一點的,不需要什麼配置的,然後自己用就好咯~~~。自己寫一個框架感覺最主要的還是解決自己的問題,先讓自己用起來方便嘛~
我要實現什麼功能?
單表的增刪該查肯定是需要的。現階段不需要支援連表查詢,因為我平常也不寫這種sql。主要的功能還是可以方便的單表增刪改查。其他複雜的功能直接使用現有的流行框架就好了,這個東西寫的時候也沒有指望太多很複雜的功能。
為什麼要寫成orm型別的呢?
用起來方便啊~ 不用寫sql啊,我最煩寫sql了。
能不能在生產上用呢?
看你自己咯,我是以demo形式來寫的,不好說裡面有沒有什麼大坑,恩~
想要做成什麼樣的?
不需要太多的配置,可能的情況下只需要配置連線池就好了。
將class對映到資料庫表,增刪改查不需要寫sql。
可以使用class屬性名稱作為查詢條件。
不需要連表查詢。
class對映基於註解的形式,不要寫其他的配置。
只支援mysql就好了。
需要準備的
需要反射相關的知識。
java中的自定義註解。
sql的基礎知識。
spring jdbc相關知識,就是jdbcTemplate。因為我不太想在寫一邊jdbc的東西。還是懶~
大致的思路
在class中先使用註解的形式,將class和表做一個對映關係(屬性名稱和欄位名稱的對映)。
在對資料庫操作的時候通過反射獲取class中的相關資訊,然後根據操作型別,生成sql,最後執行sql就好了。