手把手教你写一个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就行了。

阅读原文

相关文章
相关标签/搜索