欢迎使用 PDF.NET 数据开发框架
(Ver 4.0)

关于框架的名字由来

在我设计www.pwmis.cn 站点(原域名已经过期,现在正准备使用新域名http://www.pwmis.com/ )的时候,考虑到架构的兼容性和将来升级的可能性,最重要的是没有足够的时间去为网站添加和维护很多复杂的程序,所以在借鉴前人成功经验的基础上,设计了 一套全新的快速数据处理框架 PWMIS Data development Framework,简称PDF。本套框架的思想是借鉴Java平台的Hibernate 和 iBatis 而来,兼有ORM和SQL-MAP的特性,同时还参考了后来.NET的LINQ(本框架成型于2006年,当时还未听说过LINQ)使用风格,设计了 OQL查询表达式。本框架的设计思想是通用的,完全可以移植到Java 平台,现在只提供了.NET平台的实现,暂且将本框架命令为

PDF.NET

(下载 )

框架支持的功能

  • UI层(WinForm/Web)控件数据绑定、映射与查询;
  • BLL层实体对象查询(OQL)
  • DAL层SQL语句和.NET数据访问代码映射(查看 SQL-MAP 原理)

详细说来,框架还包含以下特色功能:

  • 类似LINQ的支持ORM实体类查询的OQL表达式(有了LINQ为啥还要搞一个OQL?本框架 OQL的基本设计在LINQ或者说本人知道 LINQ之前,另外,.NET3.5框架才正式支持LINQ,而我们公司的一个产品却因为采用了3.5框架安装部署不方便成为市场和客服常常抱怨的理由。 未来还有这样的理由,我们迫切需要一个类似LINQ的东西运行在某些客户过时的机器上。 )
  • 无需任何后台代码即可分页的增强数据分页控件。
  • 只需要一行代码实现页面数据的增,删,改,查。
  • 基于SQL词法分析的支持多种数据库的高效分页类,你只需要设置SQL语句和分页属性它便能够为你生成特定数据库平台的当前页数据的SQL语句。
  • 一套实用工具,可以生成实体类和根据SQL配置文件自动生成代码的代码生成器以及SQL配置文件管理程序。
  • 更多的功能等待你去发现:)

与其它数据处理框架的关系

本框架是总结多种数据处理框架的优点,去除其复杂性后的轻量级的数据处理框,所以可能没有你熟知的下列重量级框架强大的功能。本框架的设计目标是 轻量,快速,通用,易学 !

  • Hibernate:借鉴了它的ORM原理和HQL语言,使用了类似的简单的ORM功能;
  • iBatis:借鉴了其SQL-MAP功能,对其复杂性进行了大力精简;
  • LINQ/Entity Framework:提供类似LINQ的OQL语法

框架功能演示

  • 表单数据绑定,分页显示--
  • 数据映射,查询--
  • SQL-MAP演示(请查看DAL层代码)--
  • OQL查询(演示请看TestSqlMapEntity 项目)
  • 支持工具,提供代码生成器和SQLMAP配置文件管理程序--(请看解决方案Tools目录)

框架的适用条件

  • 首先你是懒人或者菜鸟,大牛请绕道;
  • 其次,你很喜欢平民化的技术,不是那种非MS等大厂提供的框架不用的技术狂热人士;
  • 最后,如果老板把你逼急了,建议你使用本框架,当然之前你得先熟悉它,本人就是在这种情况下不顾项目经理的反对私自使用这套框架的,算是本框架的第一次商业项目的使用。(我一人完成了项目3/4的代码开发,另外两个人只写了1/4,项目经理最后才没话说)

框架使用的限制条件

许可限制

首先,请尊重本框架的版权,本人可以有条件的开放本框架的部分或者全部源码,如果你获取了源码你可以自由对其修改但不可以修改本框架的名称和版权归属,你 不可以将原始源码或者修改后的源码分发给任何第三方,如果你修改后,请向本人发送一份。如果你未从官方获得本框架的源码 ,未经许可,不得使用任何工具对本框架反向工程查看和修改源码。任何组织和个人都可以将本框架使用于任何商业项目,可以免费使用本框架官方发布的最终 DLL库和相关工具,但你有义务向本人告知你使用本框架的基本信息,比如公司名称,项目名称,项目技术信息等。本人不对你使用本框架造成的任何损失承担任 何责任。如果你不同意上述条款,请勿使用本框架!

技术限制

当前版本基于.NET2.0以上平台,不支持实体对象对应的数据库表外键关系,OQL表达式不支持多实体类查询,不支持SQL的统计求和分组等,如有这些 复杂查询需求,请使用SQL-MAP技术。SQL-MAP 配置文件不支持多个配置文件,但你可以将配置文件以嵌入式文件分散到多个DAL项目中。数据访问已经内置了 SqlServer,OleDb,ODBC,Oracle,SQLite等,如果你想提供其它数据库类型的访问,可以使用OleDb或者ODBC方式,或 者继承本框架的数据访问类开发专用数据访问提供程序。

框架源码的获取

你可以免费向本人索取本框架的测试解决方案 ,如果你喜欢并想获取本框架的全部源码,请在线向本人发邮件联系: dth1977@sohu.com

本人也欢迎你从非官方渠道获取本框架程序(不包括源码 ),只要你遵循许可限制。

爱心行动

本人属四川德阳人士,2008年中国四川汶川大地震德阳也是重灾区,尽管灾害已经过去一年多,但灾区重建仍然是一个漫长过程。因此本人决定采取软件义卖方式,本人承诺,将本框架所获收入的50%捐献给灾区人民,请所有有爱心的人士鼎力支持!

框架应用的项目案例

2007。河南某市测绘流程管理系统,PDF.NET Ver1.0,工作流和信息管理部分; 2008。北京某房产备案管理系统,PDF.NET Ver1.0,工作流部分; 2009。北京某金融咨询公司银行数据应用项目,PDF.NET Ver2.0,作为系统核心框架部分。 2010。XX银行XX市分行基金营销系统,PDF.NET Ver4.0,作为系统核心框架部分。

。。。更多成功案例等待你的实现:)

新版本信息

Ver 4.0 更新:

全面改写了实体类处理程序,效率提升10倍;

改进实体类生成器,支持从 SQLSERVER 表字段说明生成实体类属性说明;

SqlMapDAL 支持外部接口定义;

简化了支持多个SqlMap文件的处理方式;

SQL-MAP支持复杂查询的分页;

SQL-MAP改善了对存储过程的支持;

OQL支持单行表达式语法(OQL.From(Entity).Select(....).Where(...).OrderBy(...).END);

实体类支持高效率分页;

优化了生成内部数据访问对象的效率(不再依赖于反射);

优化了其它操作的效率。

Ver 3.0 更新:

•全面改写了SqlMap模块,真正支持SQL-实体类 映射
•全面调整了框架的命名空间,合并了基础程序集成为一个 PWMIS.Core.dll
•修正了自2.0以来的Bug
•改进了代码生成器

Ver 2.0 更新: 
•使用.NET 2.0技术改写原来所有的模块
•增强了Web控件验证功能
•全面改写原有实体类,提供实体类生成器
•全面改写了OQL功能
•支持.NET 2.0数据库连接配置

Ver 1.0 功能: 
•提供SQL-MAP功能
•提供ORM功能,并提供OQL功能
•提供控件数据绑定功能
•提供高效分页控件
•提供控件数据验证功能

更多信息

本框架官方网站 http://www.pwmis.com/sqlmap (新申请域名,如果不能打开说明还在备案中,原网址:http://www.pwmis.cn/sqlmap)

本人联系方式

QQ:45383850 (深蓝医生)或者

mailto:bluedoctors@msn.com (抗震救灾)

PDF.NET 技术开发群:43109929

相关文档和更多信息请查看官方网站。

本文转自深蓝医生博客园博客,原文链接:http://www.cnblogs.com/bluedoctor/archive/2010/02/08/1665838.html

,如需转载请自行联系原作者

PDF.NET 数据开发框架相关推荐

  1. PDF.NET数据开发框架操作MySQL实体类操作实例

    在我们最近的项目中,SQL-MAP使用较多,但是实体类用的很少,实际上,"PDF.NET数据开发框架"的实体类相当强大,下面的测试程序是在MySQL中操作的实例. 1,首先在App ...

  2. PDF.NET数据开发框架实体类操作实例(for PostgreSQL,并且解决自增问题)

    PDF.NET数据开发框架实体类操作实例(MySQL) 的姊妹篇,两者使用了同一个测试程序,不同的只是使用的类库和数据库不同,下面说说具体的使用过程. 1,首先在App.config文件中配置数据库连 ...

  3. python使用fpdf生成各种样式pdf表格数据

    python使用fpdf生成各种样式pdf表格数据 目录

  4. python处理表格数据-基于Python快速处理PDF表格数据

    我们有下面一张PDF格式存储的表格,现在需要使用Python将它提取出来. 使用Python提取表格数据需要使用pdfplumber模块,打开CMD,安装代码如下: pip install pdfpl ...

  5. python读取pdf表格数据代码_Python新工具:用三行代码提取PDF表格数据

    原标题:Python新工具:用三行代码提取PDF表格数据 机器之心报道 项目作者:vinayak mehta,参与:一鸣 从 PDF 表格中获取数据是一项痛苦的工作.不久前,一位开发者提供了一个名为 ...

  6. 【如何批量从PDF提取数据并生成excel】

    如何批量从PDF提取数据并生成excel 最近帮同学处理一些扫描生成的统计年鉴,需要将里面的数据提取出来到excel文件中,但是市面上能找到的要么是收费,要么是识别不准确.结果乱码等等.在GitHub ...

  7. python提取pdf表格数据并保存到excel中

    pdfplumber操作pdf文件 python开源库pdfplumber,可以较为方便地获取pdf的各种信息,包含pdf的基本信息(作者.创建时间.修改时间-)及表格.文本.图片等信息,基本可以满足 ...

  8. python读取pdf表格_Python使用Tabula提取PDF表格数据

    今天遇到一个批量读取pdf文件中表格数据的需求,样式大体是以下这样: python读取PDF无非就是三种方式(我所了解的),pdfminer.pdf2htmlEX 和 Tabula.综合考虑后,选择了 ...

  9. Java填充PDF模板数据

    PDF模板数据填充 一.思路 根据业务需求,获取实际业务数据,借助itext库功能,将业务数据填充入提前制作好的PDF模板中 二.操作步骤 制作PDF模板:提前下载好Adobe Acrobat Pro ...

最新文章

  1. php 循环向select添加选项
  2. IE7一样可以轻易重装
  3. 命令行运行vbs脚本并传参数给vbs中的变量简单示例
  4. Netty--ByteBuf
  5. 用RecyclerView打造一个轮播图
  6. java制作加载界面_Java如何制作启动界面?
  7. 协程分析之 context 上下文切换
  8. CTR点击率预估实战分享
  9. CentOS 快速安装ftp
  10. 【转】韩寒:跳出棋盘的棋子
  11. C# 委托、匿名委托、Lambda表达式详解
  12. 力扣 6009. 使两字符串互为字母异位词的最少步骤数
  13. English trip V1 - 3.What Would you Like? Teacher:Lamb Key: would like to
  14. Linux运维之系统服务及远程服务器 SSH
  15. 从HTTP状态 301,302,200 来看页面跳转
  16. eNSP配置ospf——三台路由器
  17. “破晓之战”星杯传说赛后复盘分析
  18. Jackson:Cannot construct instance of **** (although at least one Creator exists):
  19. 邮件钓鱼实验之Gophish
  20. C++ 的高精度除法

热门文章

  1. ArcGisEngineForJava开发
  2. 工业大数据漫谈19:工业大数据数据采集常见的工业协议简介(下)
  3. git规范化提交 git cz
  4. mysql数据库锁MDL锁的解释
  5. 如何锁定计算机操作系统,如何设置计算机屏幕锁定
  6. 2D手机游戏的即时阴影效果
  7. Qt核心特性之 —— 「信号(Signal)与槽(Slot)」机制
  8. 骁龙888疑似翻车,或重蹈骁龙810发热覆辙,vivo成赢家
  9. SVM C++ 实现
  10. 黑龙江精英计算机职业技术学院,黑龙江省牡丹江市技术学校_精英计算机有价值的...