手机版
网站地图
美文美图
最新动态
你好,欢迎访问
好美文阅读网
个性皮肤
搜索
网站首页
美文
文章
散文
日记
诗歌
小说
故事
句子
作文
签名
祝福语
情书
范文
读后感
文学百科
美文摘抄
节日文章
名家散文
网名大全
座右铭
口号大全
面试技巧
说说大全
阅读答案
诗词默写
流言蜚语
节日祝福
好句子
经典台词
谚语大全
亲情故事
友情故事
表白情书
工作报告
活动总结
心得体会
专题汇总
美文网首页
基于反射机制操作jdbc手写简单orm框架
基于反射机制操作jdbc手写简单orm框架
作者:
我不是一盘水饺
| 来源:发表于
2019-01-14 23:15 被阅读0次
前言
首先这是引用网上一位网友手写的orm框架因为本人尝试途中出现问题后来才知道是对反射的不熟悉所以决定记录下来。
这是原文章作者地址
https://www.jianshu.com/p/c13870967d9b
原作者文章地址
简介
orm框架,以前对他的了解就是通过java 代码对数据库进行操作的一些方法,后来查相关资料用既通俗又正确的说法就是使用xml格式的元数据来描述对象关系的细节。
就是说只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。
目前主流的orm框架有熟悉的mybatis,hibernate ,上网查了下jfinal 也是 不过这个以后有时间再接触。
开始写
原文作者使用的是java se做根本项目,本人为方便使用了maven项目不用导jar包,输入坐标就可以了。
mysql-connector-java
项目的概览
首先bean包里有4个类
上面3个类分别用于封装什么已经有注释了,下面这个类用于映射properities配置文件的属性
下面是properties配置文件的配置,涂黑的是数据库所在的ip加端口号
然后是util包
下面的canonicalPath是生成实体类的路径
下面的实际上运用反射机制getClass获得当前的传入来的类的Class对象,因为每个被编译好的java 文件都是一个Class的实例,所以自然可以通过获取Class对象反过来获得该类信息。Class的实例的getMethod方法可以获得该类对外公开的方法第一个参数为该类里面公开的方法名第二个参数为该方法的形参。最后返回Method实例的invoke方法,第一个参数是入参的那个类,第二个参数是刚刚找到的那个公开方法的入参实际上就是执行了刚才获取到的那个方法然后返回那个方法的返回值。
接下来是core包
下面的DatabaseMetaData类是Connection对象的一个属性可用来查数据库的一些整体信息如版本号,url等等,可称为元数据,通过获取这些信息可以获取到表名字段名等,为生成实体类做准备。
下面第70行就是利用传进来的某个类型获得的字段名,其实就是一个实体类里某个字段的get方法里的某个字段对应的入参,然后通过反射调用该字段get方法获取值,值不为空就追加到集合中去。
最后首先生成实体类然后可以执行crud,这里就执行一个增加方法。
第一次写文章,肯定有错误或者知识漏洞,如果有幸被大家见到这文章,还望多多指点指点!!!!
最后说句真心话,好多框架都运用了大量的反射机制,所以有必要去了解清楚,熟练运用。
相关文章
网友评论
本文标题:
基于反射机制操作jdbc手写简单orm框架
本文链接:
https://www.haomeiwen.com/subject/pkbyrqtx.html
延伸阅读
那年盛夏诗歌
环境监察队工作总结范文
优秀教师学习心得范文
华胥引的读后感300字
《Its red》教学反思范文
农资购销的合同范本
竞选中队委优秀演讲稿
辞金蹈海的成语解释
《世纪宝鼎》公开课教案设计
因为爱你,所以牵挂
今生今世红尘醉——美到
一个90后的内心独白
致已逝去的高中年华
深度阅读
您也可以注册成为美文阅读网的作者,发表您的原创作品、分享您的心情!
情人节
母亲节
重阳节
清明节
端午节
植树节
元宵节
妇女节
愚人节
圣诞节
父亲节
教师节
儿童节
劳动节
青年节
建军节
万圣节
平安夜
光棍节
中秋节
国庆节
感恩节
腊八节
更多话题
栏目导航
摄影
故事
互联网
读书
旅行
热点阅读
脾气不好?小心暴躁症!
Ubuntu环境下使用Zxing开源包识别二维码(Data Ma
他用200%的热情学塔罗,豪言:人在牌在!
关于读书的十条戳心建议
2019-01-07[太平溪的彷徨]王瑞龙诗
树
启动康婷学习计划
小鹿竞价软件手把手教你如何进行数据分析
【悬疑】灼皮(35)钥匙
1-7
网友评论