引言
本篇给大家介绍我这个工具的雏形结构,以及基本的用法,还请大家多提意见。
初看起来,这个有点像NHibernate。说到这里,肯定有人要拍砖了。其实,我也知道。我这个不入流的东西,和NHibernate相比差远了。我开发这个东西的原因主要有两个:
1)NHibernate太复杂了,学习了两个星期,觉得它太强大了。但是强大是用复杂做代价的,里面要学习的东西太多了,不敢轻易引入项目,因为很多原理不清楚,报错也不明确,所以不敢轻易在项目中使用。
2)自己想练练手,顺便通过这个过程,也好深入继续深入学习一下NHibernate。因为在写这个工具的过程中,我会看NHibernate的源码,然后看他的源码调用关系,调用逻辑,在自己的工具中模仿它,通过模仿来学习提高。
正文
开始正文吧。写上一幅我目前的工具类图。
基本的调用关系,有点像NHibernate。
给大家先贴一段使用的示例代码。
Custom ORM Code Demo
//初始化Session
ISessionsession=newConfiguration().Configure().BuildSessionFactory().OpenSession();
Orderorder=newOrder();
Guidid=order.OrderID=Guid.NewGuid();
order.ProductName="seed1221002"+DateTime.Now.ToLongTimeString();
//添加
session.Save(order);
session.SubmitChange();
//获取
order=newOrder();
order=session.Get(newGuid("6744C2AB-C780-4DAD-9089-DF166747640F"));
//事务操作
using(ITransactiontran=session.BeginTransaction())
{
try
{
session.Save(order);
order.ProductName="seed1221003"+DateTime.Now.ToLongTimeString();
session.Update(order);
tran.Commit();
}
catch(Exceptionex)
{
tran.Rollback();
}
}
内部具体的数据库操作,目前使用的是Enterprise Library V5.0,感觉使用企业库比较方便。后面的话,如果发现不合适,可以直接用原生的ADO.NET代替就可以了。
代码:/Files/virusswb/BTFramework.rar
结合我的 自定义ORM系列(一)利用attribute实现简单的reader=>entity和reader=>List<entity>映射和 自定义ORM系列(二)发现属性是否修改,有选择的持久化以及 胡乱说一下我对于 BO VO PO DTO 的理解中的思想,就可以实现一个完整的基于attribute的ORM小工具,以及有选择的持久化。还可能会极大的减轻系统的维护量。在后面我会将完整版的工具上传,我还会继续完善其他的功能,以及进行一些测试。
后话
如果有哪位有心人,愿意看在下的代码,不嫌弃在下代码乱的话,可以帮我理理思路。因为,我觉得目前的代码结构不是很好,我不知道我这个在实际中使用的话,会遇到什么问题,在哪些地方还需要提高,还需要注意什么,或者说代码的结构那里需要调整?希望有缘人可以指点一二,当然了,胡乱说几句也可以,先谢过了。
当然了,这个ORM工具我也会继续的完善,希望在下一个项目中可以实践一下。
分享到:
相关推荐
工具简介:自己实现的简单的ORM工具,使用到的技术:JDBC+java反射机制。 简单的文档:rar解压后,DOC目录下:K-ORM.DOC
利用Java反射和注解实现自定义的ORM,并提供相应的工具类自动生成CRUD的SQL语句,同时定义了完整的异常处理机制
MXDaoManager 自定义ORM 继承MxDaoData 即可实现 操作数据库 适用于学习理解ORM 原理,和 LitePal 很像 不过是操作 远程数据库
自己定义的类似ORM的MySQL数据库增伤改查的框架,直接配置session就能使用,简单的增删改查不用再写sql,方便、灵活。
该项目是一个Hibernate框架的简单实现,里面通过Jdk5.0的Annotation实现从对象到数据库之间的映射, 功能类似于小型的Hibernate框架
1、基于SQLServer数据库 2、基于自定义轻量级ORM框架 3、可以生成常规三层代码和配置文件 4、全源码分享
c#自定义orm链接sqlite数据库增删改查,基于dapper,自己封装成了自动生成sql的框架:dapper-plus,增删改查可以不用手写sql语句。
SqlSugar ORM工具箱2.2.7z
对象关系映射的概念,及相应Hibernate的使用规范,同时通过实例展示到底什么是对象关系映射。
北京方程软件开发的开源工作流,eform自定义表单,大大方便了程序员开发工程中,表单设计的繁琐。
这是我Blog(http://blog.csdn.net/RonoTian)中的系列文章《实现自己的ORM》系列的配套资源,如果你需要详细的了解MiniORM的相关实现,那请自己查看我Blog中相关文章。
完整版Java web开发教程PPT课件 Java开发进阶教程 第17章 自定义orm框架(共11页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第18章 mybatis框架的搭建以及应用(共13页).pptx 完整版Java web开发教程...
一款个人觉得还算可以的ORM工具。可生成实体、数据连接等多方面内容。
C# ORM程序及实体生成工具,支持MySQL,SQLite,SQLServer,Oracle,Access数据库,实体生成工具支持MySQL,SQLite
摘要:VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】是一款专门为.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的程序代码基于面向对象、分层架构、ORM及反射+工厂设计模式等。支持.Net1.1...
关于orm框架的一个自定义框架,方便人们理解hibernate框架的原理
orm4es是一个Elasticsearch的ORM工具,它可以生成简单的查询对象.它本身非常简单,也很容易使用;代码生成通过freemark完成,它会自动解析es index 的mapping设置,根据mapping生成与index对应的java Bean,使用生成...
Dos.ORM 代码生成器 实体生成器
hsweb-easy-orm, 简单的orm工具,为动态表单而生