草帽路飞UU 发表于 2019-2-1 16:17:38

手把手教你写一个java的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就好了。下一篇继续

Miss_love 发表于 2020-12-25 17:57:27

感谢分享
页: [1]
查看完整版本: 手把手教你写一个java的orm(一)