手把手教你寫一個java的orm(一)


寫之前的說明

  1. 其實吧。

    這個東西已經寫好了,地址在:https://github.com/hjx601496320/JdbcPlus系列文章算是我寫的過程的總結吧。(恩系列,說明我可能會寫好久,╮(╯▽╰)╭)

  2. 現在有很多的現成的orm框架,為什么還要自己寫一個?

    框架這種東西個人認為想要了解其中的原理,還是要自己嘗試實現一個來的比較快。我是那種不愛看源碼的程序員,除非是有些地方實在沒有思路或者網上也找不到相關的文章,否則是不會去看源碼的。懶~~~

  3. 寫這個的目的是什么?

    現在流行的orm比如hibernate,mybatis等等,需要配置太多了,實在記不住。所以就自己寫一個自己用起來方便一點的,不需要什么配置的,然后自己用就好咯~~~。自己寫一個框架感覺最主要的還是解決自己的問題,先讓自己用起來方便嘛~

  4. 我要實現什么功能?

    單表的增刪該查肯定是需要的。現階段不需要支持連表查詢,因為我平常也不寫這種sql。主要的功能還是可以方便的單表增刪改查。其他復雜的功能直接使用現有的流行框架就好了,這個東西寫的時候也沒有指望太多很復雜的功能。

  5. 為什么要寫成orm類型的呢?

    用起來方便啊~ 不用寫sql啊,我最煩寫sql了。

  6. 能不能在生產上用呢?

    看你自己咯,我是以demo形式來寫的,不好說里面有沒有什么大坑,恩~

想要做成什么樣的?

  1. 不需要太多的配置,可能的情況下只需要配置連接池就好了。
  2. 將class映射到數據庫表,增刪改查不需要寫sql。
  3. 可以使用class屬性名稱作為查詢條件。
  4. 不需要連表查詢。
  5. class映射基於注解的形式,不要寫其他的配置。
  6. 只支持mysql就好了。

需要准備的

  1. 需要反射相關的知識。
  2. java中的自定義注解。
  3. sql的基礎知識。
  4. spring jdbc相關知識,就是jdbcTemplate。因為我不太想在寫一邊jdbc的東西。還是懶~

大致的思路

在class中先使用注解的形式,將class和表做一個映射關系(屬性名稱和字段名稱的映射)。

在對數據庫操作的時候通過反射獲取class中的相關信息,然后根據操作類型,生成sql,最后執行sql就好了。

下一篇繼續


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM