ibatis框架扩展\修正包(源码)

问题描述

ibatis简介ibatis是一个O/RMapping解决方案,ibatis最大的特点就是小巧,上手很快。如果你不需要太多复杂的功能,ibatis是能满足你的要求又足够灵活的最简单的解决方案。ibatis以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。ibatis底层采用纯JDBC操作,要求操作人员直接编写sql进行操作,光从这点看,ibatis本身就大大地提高数据层操作的透明度。扩展/修正说明1、sqlmap中新增执行节点statementssqlmap中新增执行节点statements,其中可以包含多个子节点(insert、update、delete、statement均可),可一次性保护多个sql节点,便于程序sqlmap管理2、ClassKey生成使用classKey获取主键即为,执行某个class中的方法后生成主键序列的方式参考格式定义如下:<classKeykeyProperty="userId"//生成key存放如parameterClass的属性名称,必填resultClass="String"//返回key结果类型,必填type="pre"//insert执行前、后执行当前生成主键方式,必填className="test.util.GenerateSerial"//当前执行类全路径,必填methodName="getUUID"//当前执行方法,必填args="1,2"//参数值,多个以逗号隔开,选填paramTypes="java.lang.String,int"//参数类型,多个以逗号隔开,选填></classKey>

在sqlmap解析器中新增classkey节点的检查校验3、insert中多SQL同步保存实现多个sql公用某个参数类时,可在insert、update、delete、statement等节点中包含多个sql语句,并自定义分割符。有了它,我们再也不用为事物愁了^_^。这这里统一可以使用selectKey、classKey产生主键;利于保证主子表同步保存时,关联外键的级联同时保存。(Hibernate的精髓,很好,很强大)4、批处理优化修改了sql执行器com.ibatis.sqlmap.engine.execution.SqlExecutor,添加了sql执行保存器,用于存储已经添加过在批处理桶列中的sql识别集合map。5、Debug模式下打印完整的SQL语句即使用ibatis时需要在控制台或日志文件中打印其当前执行的完整sql,而不是常见的参数问号?语句。6、insert中多SQL同步保存在sqlmap中扩展insert节点,可确保一次性提交同步执行多条sql,各sql之间以逗号;隔开,这有利于保证主子表同步保存时,关联外键的相同性。7、真正意义上的分页支持数据库物理分页选取;继续使用接口PaginatedList及实现类PaginatedDataList;支持不同数据库自定义方言支持8、多数据库兼容可定义当前数据库类型,并依据它选择不同的sqlmap程序脚本支持(DBProductName(mysql|sqlserver|oracle|db2|sybase)

时间: 2024-10-02 16:48:17

ibatis框架扩展\修正包(源码)的相关文章

SpringMVC4.0 + Tomcat7 + JDK7环境搭建 + (Spring4.0jar包+源码+logging+SpringIDE百度网盘下载)

今天一时兴起想用一下新版本的框架,就找了一个SpringMVC4.0的来,还是遇到一些问题,写下来帮助一下大家吧,程序员都知道配环境是最头痛的. 这个里面就是Spring4.0jar包+源码+logging+SpringIDE,如果能下载别忘了点个赞. 云盘链接 链接:http://pan.baidu.com/s/1c1XqZOs 密码:y26a 最最基本的目录结构如下: 先建立动态web工程,然后导入jar包,把SpringMVC几个必须的jar包,加上logging处理日志jar包复制到li

基于Docker的TensorFlow机器学习框架搭建和实例源码解读

概述:基于Docker的TensorFlow机器学习框架搭建和实例源码解读,TensorFlow作为最火热的机器学习框架之一,Docker是的容器,可以很好的结合起来,为机器学习或者科研人员提供便捷的机器学习开发环境,探索人工智能的奥秘,容器随开随用方便快捷.源码解析TensorFlow容器创建和示例程序运行,为热爱机器学者降低学习难度. 默认机器已经装好了Docker(Docker安装和使用可以看我另一篇博文:Ubuntu16.04安装Docker1.12+开发实例+hello world+w

仿iPhone风格对话框(附件包含例子/jar包/jar包源码)_Android

效果图: 这个对框完全继承.仿照AlertDialog,只是实现了自定义效果.另外,没有实现setIcon,因为iphone中的对话框多数都没有图标. 附件包含例子.jar包.jar包源码.文件简介: aIphoneDialogTest.rar 这是示例工程 使用时注意先要在build path中导入iPhoneDialogLib.rar中的jar包 iPhoneDialogLib.rar 这是控件jar包及资源文件 使用时先备份自己的strings.xml,然后将三个目录下的资源文件复制到项目

仿iPhone风格对话框(附件包含例子/jar包/jar包源码)

效果图: 这个对框完全继承.仿照AlertDialog,只是实现了自定义效果.另外,没有实现setIcon,因为iphone中的对话框多数都没有图标. 附件包含例子.jar包.jar包源码.文件简介: aIphoneDialogTest.rar 这是示例工程 使用时注意先要在build path中导入iPhoneDialogLib.rar中的jar包 iPhoneDialogLib.rar 这是控件jar包及资源文件 使用时先备份自己的strings.xml,然后将三个目录下的资源文件复制到项目

MyEclipse整合ssh三大框架环境搭载用户注册源码下载_java

前言 SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层(实体层). Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持.Spring一方面作为一个轻量级的IoC容器,负责查找.定位.创建和管理对象及

Yaf框架学习笔记之源码笔记

  从了解PHP不久就想着用扩展的方式来实现PHP的程序框架,后来了解鸟哥已经实现了yaf简单的C实现PHP的MVC框架,故将其源代码研究了好几遍.yaf的优势是简单,高效,高性能,框架长驻内存,程序配置内存化,其实主要是运行速度比大部分PHP的框架都快. 1.在内核扩展中加载PHP用户空间类文件 文件:yaf_loader.c 函数:int yaf_loader_import( char path, int len int use_path TSRMLS_DC) 行号:333 2.自动加载器

OEA框架 2.9 Pre-Alpha 源码公布

  OEA框架 从 2009 年发布"第一个版本"之后,历时三年,现在终于又公开向大家开放最新的源代码.三年来,许多朋友都关心 OEA 是否还在开发,是否还会开源.其实,我们一直在不断改进和完善它.其间,2011 年 4 月,我也向大家简单地展示了当时的使用示例:<OEA 框架演示 - 快过原型的开发>.     目前,OEA 虽然已经到达 2.9 版本,并在内部的几个产品中成功运用.但是要面向业界开放,还是有许多地方需要完善,所以它的状态依然是 Pre-Alpha.我们期

多队列网卡简介以及Linux通过网卡发送数据包源码解读

首先我们看一下一个主流多队列网卡(E1000)跟多核CPU之间的关系图: 非多队列: linux的网卡由结构体net_device表示,一个该结构体对应一个可以调度的数据包发送队列. 数据包的实体在内核中以结构体sk_buff(skb),形如: 多队列: 一个网卡可以拥有多个队列 接下来,看看TX引擎是如何工作的(注:对于发送和接收数据包有两个名词,分别应对TX,RX) 解释: 函数-dev_queue_xmit():入队一个buffer以传输到网络驱动设备. 配合该函数的源码来解释上图的传输过

CYQ.Data.ProjectTool 项目配置工具发布(包源码)

前言: 一直被网友催,说要更新下 CYQ.Data 的枚举生成器,这工具自从V4.5版本之后,就没再发布过新版本,事实上,我也写了V4.55版本的枚举生成器,主体是感觉不太满意,没多大变化,所以一直没发布. 我们看一下V4.55的枚举生成器界面,相比V4.5好看了一点点,但还不太满意,感觉使用上仍有些不方便.   对使用理念的提升: 自从折腾微博粉丝精灵软件近2年左右,对软件的有了进一步的认识,自己都感觉使用不方便的东西,怎么能拿的出手让用户使用,所以,虽然有新版本,也没发布.   VS 插件的