- 浏览: 420114 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (114)
- C++ (1)
- JAVA (58)
- sql,oracle,mysql (7)
- struts (2)
- tomcat (6)
- JS CSS (6)
- 其他 (7)
- javascript (4)
- exception (1)
- error (1)
- hashmap (1)
- hashset (1)
- python (1)
- sql (2)
- oracle (4)
- mysql (2)
- weblogic (3)
- session (2)
- http-only-cookie (1)
- httponly (1)
- cookie (1)
- ide (0)
- intellij (1)
- eclipse (2)
- idea (1)
- connection (2)
- maven (4)
- m2eclipse (2)
- m2e (2)
- InetAddress (1)
- DNS (1)
- web (1)
- goals (1)
- copy-dependencies (1)
- unpack (1)
- hash (1)
- 分布式 (1)
- gc (4)
- volatile (1)
- rsa (1)
- 加密 (1)
- 签名 (1)
- socket (1)
- tcp (1)
最新评论
-
xuxiaoyinliu:
谢谢,不错哦
有关cookie的httponly属性相关 -
雁行:
svn根本就不需要这么罗嗦的实现。
版本比较,直接出增量文件, ...
ant+cvs实现增量部署 -
ludatong110:
这个东西在IE里面会很明显的,我就碰到过IE中因为这个HTML ...
有关jqGrid应用里的字体大小不能控制的问题 -
labchy:
非常感谢 解决了问题
有关jqGrid应用里的字体大小不能控制的问题 -
tengyue5i5j:
Crusader 写道竟然有这么多人投良好。。。
楼主的思路有 ...
java实现一个栈,并提供取该栈中最大数的方法,复杂度O(1)
首先声明:该文章 参照了http://www.iteye.com/topic/674839 matychen 的文章,修改了一下ibator的工作方式,实际分页的原理还是一样的,支持oracle,mysql , 如果涉及侵犯matychen的利益,请告知,我立即删除
/** * * @author coffeesweet * */ Ibator支持分页的plugin式的开发步骤 1:所涉及到修改的类列表: org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements目录下所有的类里给attribute属性的id修改成如下:
其他修改和添加的类 org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements---OraclePaginationHeadGenerator org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements---OraclePaginationTailGenerator org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements---MysqlPaginationLimitGenerator org.apache.ibatis.ibator.generator.ibatis2.model---ExampleGenerator org.apache.ibatis.ibator.api.dom.java---FullyQualifiedJavaType FullyQualifiedTable table = introspectedTable.getFullyQualifiedTable();
answer.addAttribute(new Attribute("id", table.getSqlMapNamespace() + "."+XmlConstants.INSERT_STATEMENT_ID));
org.apache.ibatis.ibator.api.dom.xml.XmlElement添加了四个方法,主要用于对xxxx_SqlMap.xml的元素删除和修改
这个是添加的plugin类
org.apache.ibatis.ibator.plugins.PaginationPlugin
以上所有修改的类搜索“增加开始”或者“增加结束”就能找到修改的地方
2:示例ibatorConfig.xml文件
一定要注意该xml的元素顺序 <classPathEntry标签的位置在<ibatorConfiguration>子元素的第一个位置 ibatorContext 的子元素顺序是 (property*, ibatorPlugin*, commentGenerator?, jdbcConnection, javaTypeResolver?, javaModelGenerator, sqlMapGenerator, daoGenerator?, table+) 所以需要注意ibatorPlugin的位置,还有,如果有多个plugin的话,加入第一个的validate失败,那么余下的所有plugin都不执行了 还要注意ibatorPlugin的两个必要属性 <property name="enablePagination" value="true" /> <property name="dbType" value="oracle" /> 示例ibatorConfig.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ibatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Apache iBATIS Ibator Configuration 1.0//EN" "http://ibatis.apache.org/dtd/ibator-config_1_0.dtd" > <ibatorConfiguration> <classPathEntry location="oracle驱动的本地绝对路径" /> <ibatorContext id="context1" targetRuntime="Ibatis2Java5"> <!-- <ibatorPlugin type="org.apache.ibatis.ibator.plugins.RenameExampleClassPlugin"> <property name="searchString" value="Example$" /> <property name="replaceString" value="Criteria" /> </ibatorPlugin> --> <ibatorPlugin type="org.apache.ibatis.ibator.plugins.PaginationPlugin"> <property name="enablePagination" value="true" /> <property name="dbType" value="oracle" /> </ibatorPlugin> <!-- <ibatorPlugin type="org.apache.ibatis.ibator.plugins.SerializablePlugin"></ibatorPlugin> --> <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@*.*.*.*:1521:**" userId="**" password="**" /> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <javaModelGenerator targetPackage="com.mydomain.model" targetProject="src"> <property name="enableSubPackages" value="false" /> <property name="trimStrings" value="false" /> </javaModelGenerator> <sqlMapGenerator targetPackage="com.mydomain.xml" targetProject="src"> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <daoGenerator type="SPRING" targetPackage="com.mydomain.dao" targetProject="src"> <property name="enableSubPackages" value="false" /> </daoGenerator> <table tableName="CC_TEST1" domainObjectName="Customer"> <!-- columnOverride column="???" property="???" / --> </table> </ibatorContext> </ibatorConfiguration> 3:以下是ibator的java启动模式,用来测试
4:附件是ibator的修改后的源码(包括spring的lib)和jar包,以及测试case 源码里的有关数据连接信息的东西请自行修改 测试用到了spring ibator.jar可直接拿到工程中使用 package org.apache.ibatis.ibator.test;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.apache.ibatis.ibator.api.Ibator;
import org.apache.ibatis.ibator.config.IbatorConfiguration;
import org.apache.ibatis.ibator.config.xml.IbatorConfigurationParser;
import org.apache.ibatis.ibator.internal.DefaultShellCallback;
public class IbatorRunTest {
public static void main(String...strings){
try{
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File(ClassLoader.getSystemResource("ibatorConfig.xml").getFile());
// File configFile = new File("ibatorConfig.xml");
IbatorConfigurationParser cp = new IbatorConfigurationParser(warnings);
// for(String warning:warnings){
// System.out.println("1---:"+warning);
// }
IbatorConfiguration config = cp.parseIbatorConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
Ibator ibator = new Ibator(config, callback, warnings);
ibator.generate(null);
for(String warning:warnings){
System.out.println("2---:"+warning);
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}
- ibator.jar (296.6 KB)
- 下载次数: 410
- ibator-src.zip (8.4 MB)
- 下载次数: 583
评论
困惑的是,这种方式和我手写的sql分页是一样的吗?
今天比较困惑那种的效率高点。
this.smcTemplate.queryForList("find...", map,start,limit);(打印出来的好像是直接写的sql,并没有输入的分页参数)
还是嵌套的分页效率高?
请人解释一下。
<div class="quote_div">
<div class="quote_title">
<strong>请继续更新,</strong><span style="font-weight: normal;"><img src="/images/smiles/icon_biggrin.gif" alt=""></span> </div>
<div class="quote_title">你这个貌似更方便一点。</div>
<div class="quote_title">刚刚看了下你的代码,不知道这个是不是为了配置方便,只在一个地方配置一次就能把所有的表都用一个分页?</div>
<div class="quote_title">能说下用法吗?</div>
</div>
<p> </p>
<p>呵呵,你原来是把分页控制配置在了<span style="color: #333399;"><table</span>里,就像你说的ibator的xml验证会报错,我现在是把分页信息统一配置在<span style="font-size: x-small; color: #3f5fbf;"><ibatorPlugin <span style="color: #000000;">里,这个标签是可以自定义属<span style="font-size: small;">性的,ibator的dtd也支持,配置了这个以后,如果有多个<table的话,他们生成的Example类里都会包含分页信息的.</span></span></span></p>
<p><span style="font-size: small;">你可以把附件的ibator.jar替换你的ibator的eclipseplugin里,或者是直接在工程里加入ibator.jar,然后运行我给的IbatorRunTest 类生成相关class和XXX_sqlMap.xml</span></p>
<p> </p>
<p><span style="font-size: small;">其实就是借鉴你的思路,我照抄修改了一下</span></p>
<div class="quote_title">刚刚看了下你的代码,不知道这个是不是为了配置方便,只在一个地方配置一次就能把所有的表都用一个分页?</div>
<div class="quote_title">能说下用法吗?</div>
发表评论
-
【Java TCP/IP Soket】— 消息边界的问题解决
2015-08-11 09:47 1457转自:http://blog.csdn.net/ ... -
java中volatile解释
2015-05-28 16:28 723http://www.cnblogs.com/aigongs ... -
Java中的substring真的会引起内存泄露么?
2015-05-27 13:18 957转: http://droidyue.com/blog/ ... -
成为Java GC专家(4)—Apache的MaxClients参数详解及其在Tomcat执行FullGC时的影响
2015-05-27 12:24 632转:http://www.importnew.com ... -
成为Java GC专家(3)—如何优化Java垃圾回收机制
2015-05-27 12:23 797转:http://www.importnew.com ... -
成为JavaGC专家(2)—如何监控Java垃圾回收机制
2015-05-27 12:20 652转:http://www.importnew.com ... -
成为JavaGC专家(1)—深入浅出Java垃圾回收机制
2015-05-27 12:16 516转:http://www.importnew.com ... -
《深入分析Java Web技术内幕》-样章示图总结
2013-01-17 11:46 1325试读完本书的样章章节后,感受颇深,其实单从样 ... -
eclipse中(装了插件m2eclipse后的)导入maven工程显示"感叹号"
2013-01-15 16:02 7385有时候导入一些开源工程(maven结构的),在 ... -
(转)分析模式 之 参与者(Party)
2012-10-22 16:39 961在我们分析模型的时 ... -
(转)java.sql.SQLException: (无法从套接字获取更多数据)数据大小超出此类型的最大值
2012-10-22 16:38 5526转至:http://linwei-211.i ... -
有关hashmap,hashset的相关总结
2011-09-16 17:32 3055这篇转自http://hi.baidu.com ... -
有关JAVA异常和错误(ERROR)的处理
2011-09-15 20:41 19177最近遇到有关ERROR的处理问题,下面这篇文章 转至: ... -
XFire 、Axis2、CXF、JWS、java6 区别 (转)
2011-06-13 22:50 1924XFire VS AxisXFire是与Axis2 并列的 ... -
转载[Connection reset,Connection reset by peer,Software caused connection abort :]
2011-06-08 13:16 9994Connection reset,Connection ... -
java实现一个栈,并提供取该栈中最大数的方法,复杂度O(1)
2011-06-07 15:18 2166记得是哪个面试题里的,这里只想到一个简单的方法,大家看看 ... -
Listener Servlet和filter的应用
2011-05-16 22:21 891下面这段话是小总结: Listener是Ser ... -
转载【有关JSP中的转发和重定向用法】
2011-05-15 19:05 1756转自: http://blog.csdn.net/cyhjr ... -
转载【Java对象的强、软、弱和虚引用】
2011-05-13 22:47 8941.Java对象的强、软、弱和虚引用 在JDK 1.2以 ... -
有关JNDI的理解
2011-04-14 11:22 973JAVA EE规范里的jndi是为了解决下面两个问题: ...
相关推荐
MySQL是一种广泛使用的开源关系型数据库管理系统,而iBatis(现在已经更名为MyBatis)是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。在处理大量数据时,分页查询是非常常见且重要的功能,它可以...
- **支持多种数据库**:ibator支持多种主流的数据库,如MySQL、Oracle、SQL Server等。 - **逆向工程**:从现有数据库表快速生成Java代码,节省手工编写的时间。 **4. 集成到项目** 生成的代码可以直接导入到...
此外,Ibator还支持逆向工程,即根据已有的Java类和Mapper接口,生成对应的数据库表结构,这对于理解已有项目的数据模型非常有帮助。 MyBatis是一个轻量级的持久层框架,它允许开发者通过XML或注解来编写SQL语句,...
iBATOR,全称为"IBATIS Auto Table Access Toolkit Generator",是针对iBATIS数据库持久层框架的一个代码生成工具。它的主要功能是自动生成与数据库表相关的Java代码,包括实体类、Mapper接口和XML配置文件,极大地...
3. 自定义模板支持:Ibator允许开发者自定义生成的代码模板,以满足特定的编码风格或项目规范。 4. 增强型配置:在Ibator的配置文件中,可以设置各种选项,如表前缀去除、主键策略等,以便更好地适应不同的数据库...
"自带批处理自动生成程序"意味着Ibator不仅支持单个表的代码生成,还可以进行批量处理,一次生成多个表的相关代码,这对于大型项目或者数据库结构复杂的情况非常有用,可以显著提高开发效率。 标签中的"ibatis ...
需要注意的是,ibator当前仅支持iBATIS 2.x版本,而不支持iBATIS 3.0以上版本。 配置ibator时,需要创建一个`ibatorConfig.xml`文件,该文件定义了生成代码的相关设置。文件中的主要元素包括: 1. `classPathEntry...
Ibator can run as a standalone JAR file, or as an Ant task, or as an Eclipse plugin. 欲了解更多详细说明,敬请移步:http://blog.csdn.net/DavidHsing/archive/2010/07/12/5729027.aspx
Ibator,全称是"iBatis Auto Generator",是一个强大的代码生成工具,用于简化基于MyBatis框架的数据库模型、映射文件和DAO接口的创建。在MyEclipse 7.5中安装Ibator插件可以极大提高开发效率,避免手动编写重复的...
6. **SSI架构**:Service、Session、Impl三层架构是JavaEE中常见的业务逻辑设计模式,Ibator生成的代码可以很好地融入这种架构,提供数据访问层的支持。 7. **定制化开发**:通过扩展Ibator的插件系统,开发者可以...
【ibator 1.2.1】是一款基于Eclipse的插件,用于自动化生成Ibatis框架的代码。这个工具极大地提升了开发效率,减少了手动编写SQL映射文件、实体类和DAO层代码的工作量。它的核心功能是根据数据库表结构自动生成Java...
7. **扩展和定制**:除了默认的生成模板,iBator还支持自定义插件和模板,可以根据项目需求定制生成的代码风格和功能。 总的来说,IBATOR作为一个强大的自动化工具,能够显著提高开发效率,减少手动编写重复代码的...
IBator是Apache iBATIS项目的一个子项目,它是一个代码生成器,能够帮助开发人员自动化创建基于iBATIS的持久层代码,包括Java模型类、SQL映射文件以及DAO接口。通过减少手动编写这些常见的重复性工作,IBator可以...
ibator插件优化的jar包,安装完ibator后,将eclipse\plugins\org.apache.ibatis.ibator.core_1.2.1下的jar包替换即可。
"修改后jar"文件可能是指经过优化的Ibator核心库,这些库文件可能已经过修改,以支持插件的新特性或改进。 总的来说,Ibator-Eclipse插件1.2.1版是开发者提高工作效率、简化数据库操作的得力助手。它通过消除不必要...
ibator1.2.2多了点功能,具体可以百度,重新编译了下,生成注释去掉了
ibator教学视频,手把手教你使用ibator
【ibator插件+ibatorConfig文件】是用于简化Java开发中的数据库操作的工具,尤其在构建Maven或Gradle项目时,它能自动生成基于Active Record模式的DAO层、Service层以及实体类代码,极大地提高了开发效率。ibator是...
标题 "ibatis自动生成工具ibator及配置文件示例" 提到的是关于iBatis的自动化工具ibator的使用和配置。iBatis是一个优秀的Java持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,使得数据库操作与业务逻辑...
使用数据库的注释,不用自带的注释 http://blog.csdn.net/tiantangpw/article/details/43489817 运行命令 java -jar ibator.jar -configfile ibatorConfig.xml -overwrite >>ibator.log