51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1826|回复: 1
打印 上一主题 下一主题

手把手教你写一个java的orm(一)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-2-1 16:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写之前的说明
  • 其实吧。
    这个东西已经写好了,地址在: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就好了。
下一篇继续
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-6-24 00:32 , Processed in 0.065984 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表