寫之前的說明 0. 其實吧。 這個東西已經寫好了,地址在:https://github.com/hjx601496320/JdbcPlus 這 系列 文章算是我寫的過程的總結吧。(恩系列,說明我可能會寫好久,╮(╯▽╰)╭) 1. 現在有很多的現成的orm框架,為什麼還要自己寫一個? 框架這種東西個 ...
寫之前的說明
其實吧。
這個東西已經寫好了,地址在:https://github.com/hjx601496320/JdbcPlus 這系列文章算是我寫的過程的總結吧。(恩系列,說明我可能會寫好久,╮(╯▽╰)╭)
現在有很多的現成的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就好了。