手把手教你寫一個Java的orm框架(1)

寫以前的說明

  1. 其實吧。java

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

  2. 如今有不少的現成的orm框架,爲何還要本身寫一個?git

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

  3. 寫這個的目的是什麼?github

    如今流行的orm好比hibernate,mybatis等等,須要配置太多了,實在記不住。因此就本身寫一個本身用起來方便一點的,不須要什麼配置的,而後本身用就好咯~~~。本身寫一個框架感受最主要的仍是解決本身的問題,先讓本身用起來方便嘛~spring

  4. 我要實現什麼功能?sql

    單表的增刪該查確定是須要的。現階段不須要支持連表查詢,由於我日常也不寫這種sql。主要的功能仍是能夠方便的單表增刪改查。其餘複雜的功能直接使用現有的流行框架就行了,這個東西寫的時候也沒有期望太多很複雜的功能。數據庫

  5. 爲何要寫成orm類型的呢?mybatis

    用起來方便啊~ 不用寫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就行了。

閱讀原文

相關文章
相關標籤/搜索