- 浏览: 223534 次
- 性别:
- 来自: 杭州
-
文章分类
最新评论
-
Wangwei86609:
非常好的规则引擎框架,支持决策树和多线程运行规则https:/ ...
规则引擎 -
hzxlb910:
真详细,收藏哈
maven setting.xml配置说明 -
东方胜:
[b][/b]
脚本语言 Tcl -
345161974:
hyw520110 写道345161974 写道这个Visua ...
Visual Tcl Binary 完整版(完美中文支持) -
hyw520110:
345161974 写道这个Visual Tcl Binary ...
Visual Tcl Binary 完整版(完美中文支持)
转载:http://www.iteye.com/topic/821983
欢迎 Javaeye 祸鞋归来。
参考文献:
插件基于ibator1.2.2(http://svn.apache.org/repos/asf/ibatis/java/ibator)
个人感觉用ibator Eclipse插件不如直接用这种方式生产代码方便,出错几率小的多,还能log跟踪。
更新:
ibator_2010-12-7.jar版本增加了一个插件,ChangeReturnPlugin,功能:
把所有delete、update、insert返回为int类型的方法改为返回布尔值类型
大部分都用不到返回的行数,多数情况只是关心是否执行成功
在配置文件中加入如下配置即可:
<!-- 修改dao里面返回值,把增删改的返回值由整型改为布尔型 -->
<ibatorPlugin type="org.apache.ibatis.ibator.plugins.ChangeReturnPlugin" />
和插件SerializablePlugin一样使用,如果没有配置,就不会修改dao类里面的部分方法的返回值,方法还是默认返回int类型。
ibator_2010-12-7.jar对应的源码过些天在上传。
强烈建议用一下的java方法生成所需的xml、dao、pojo。不建议用ibator的eclipse插件方式。
自己可以新建一个java工程,里面存放这个.java文件和ibator.jar文件。如果要生成代码到其他工程里面去可以在xml里面配置:
targetProject="../你要生成的目的工程名/src"> 记得xml里面的3个targetProject都要修改哦。
- package ibator;
- 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("ConfigIbatisExample.xml").getFile());
- IbatorConfigurationParser cp = new IbatorConfigurationParser(
- warnings);
- 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("warning:" + warning);
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- }
package ibator; 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("ConfigIbatisExample.xml").getFile()); IbatorConfigurationParser cp = new IbatorConfigurationParser( warnings); 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("warning:" + warning); } } catch (Exception ex) { ex.printStackTrace(); } } }
修改日志:
1、增加数据库注释,oracle默认不返回数据库注释,需要设置一个参数
2、当oracle得字段为number没有指定长度时,ibator会设置字段为Big Decimal
3、去掉不必要的其他注释
4、改进分页的生成方式
5、其他详情见附件源码
- <?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="E:/jars/ojdbc/ojdbc14_10.2.0.4.jar" />
- <ibatorContext id="FlatJava5" targetRuntime="Ibatis2Java5">
- <property name="suppressTypeWarnings" value="true" />
- <!-- Serializable化 -->
- <ibatorPlugin type="org.apache.ibatis.ibator.plugins.SerializablePlugin" />
- <!-- 这个插件添加方法为例(实际上的内部类)来支持不区分大小写像搜索。这个演示了增加功能,通过一个实例类插件,而不是延长上课。 -->
- <ibatorPlugin type="org.apache.ibatis.ibator.plugins.CaseInsensitiveLikePlugin" />
- <!-- 分页 -->
- <ibatorPlugin type="org.apache.ibatis.ibator.plugins.PaginationPlugin">
- <property name="enablePagination" value="true" />
- <!-- mysql or oracle -->
- <property name="databaseType" value="oracle" />
- </ibatorPlugin>
- <!-- 重命名example类 -->
- <ibatorPlugin
- type="org.apache.ibatis.ibator.plugins.RenameExampleClassPlugin">
- <property name="searchString" value="Example$" />
- <property name="replaceString" value="Criteria" />
- </ibatorPlugin>
- <!-- 产生sqlmap.xml
- <ibatorPlugin type="org.apache.ibatis.ibator.plugins.SqlMapConfigPlugin">
- <property name="targetPackage" value="ibatortest.generated.flat" />
- <property name="targetProject" value="src" />
- </ibatorPlugin>
- -->
- <!-- driverClass="com.mysql.jdbc.Driver" -->
- <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
- connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:ora10g" userId="test"
- password="test" >
- <!-- 是否返回数据库注释,MySQL默认是true,oracle默认是false -->
- <property name="remarksReporting" value="true"/>
- </jdbcConnection>
- <javaModelGenerator targetPackage="test.pojo"
- targetProject="src">
- <!-- 如果为TRUE,下面的设置了schema,那么包名就是会增加个schema名,
- 如果schema=“aaa” , test.pojo.aaa.XXXX;
- <property name="enableSubPackages" value="true" />
- -->
- <!-- 继承哪个父类,这个为了有时候日志需要打印整个对象,而采用的apache打印对象的每个属性 -->
- <property name="rootClass" value="ibator.BaseBean" />
- </javaModelGenerator>
- <sqlMapGenerator targetPackage="test.sqlmap"
- targetProject="src">
- <!--
- <property name="enableSubPackages" value="true" />
- -->
- </sqlMapGenerator>
- <daoGenerator type="SPRING" targetPackage="test.dao" implementationPackage="test.dao.impl"
- targetProject="src">
- <!--
- <property name="enableSubPackages" value="true" />
- -->
- </daoGenerator>
- <!--
- 如果数据库里面有多个相同表名在不同的schema下,那么你得加上:
- schema="XXXX"和<property name="ignoreQualifiersAtRuntime" value="true" />
- 不然ibator会以找到的最后一个为最终对象,这个问题苦恼了我很久,后来才发现
- -->
- <table tableName="OTA_APPLETE_INFO" schema="XXX">
- <!-- 忽略schema,避免在xml中出现schema.表名
- -->
- <property name="ignoreQualifiersAtRuntime" value="true" />
- <!-- 精确到时分秒时,需要设置下: jdbcType="TIMESTAMP"-->
- <columnOverride column="UPDATED_DATE" jdbcType="TIMESTAMP"/>
- </table>
- </ibatorContext>
- </ibatorConfiguration>
<?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="E:/jars/ojdbc/ojdbc14_10.2.0.4.jar" /> <ibatorContext id="FlatJava5" targetRuntime="Ibatis2Java5"> <property name="suppressTypeWarnings" value="true" /> <!-- Serializable化 --> <ibatorPlugin type="org.apache.ibatis.ibator.plugins.SerializablePlugin" /> <!-- 这个插件添加方法为例(实际上的内部类)来支持不区分大小写像搜索。这个演示了增加功能,通过一个实例类插件,而不是延长上课。 --> <ibatorPlugin type="org.apache.ibatis.ibator.plugins.CaseInsensitiveLikePlugin" /> <!-- 分页 --> <ibatorPlugin type="org.apache.ibatis.ibator.plugins.PaginationPlugin"> <property name="enablePagination" value="true" /> <!-- mysql or oracle --> <property name="databaseType" value="oracle" /> </ibatorPlugin> <!-- 重命名example类 --> <ibatorPlugin type="org.apache.ibatis.ibator.plugins.RenameExampleClassPlugin"> <property name="searchString" value="Example$" /> <property name="replaceString" value="Criteria" /> </ibatorPlugin> <!-- 产生sqlmap.xml <ibatorPlugin type="org.apache.ibatis.ibator.plugins.SqlMapConfigPlugin"> <property name="targetPackage" value="ibatortest.generated.flat" /> <property name="targetProject" value="src" /> </ibatorPlugin> --> <!-- driverClass="com.mysql.jdbc.Driver" --> <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:ora10g" userId="test" password="test" > <!-- 是否返回数据库注释,MySQL默认是true,oracle默认是false --> <property name="remarksReporting" value="true"/> </jdbcConnection> <javaModelGenerator targetPackage="test.pojo" targetProject="src"> <!-- 如果为TRUE,下面的设置了schema,那么包名就是会增加个schema名, 如果schema=“aaa” , test.pojo.aaa.XXXX; <property name="enableSubPackages" value="true" /> --> <!-- 继承哪个父类,这个为了有时候日志需要打印整个对象,而采用的apache打印对象的每个属性 --> <property name="rootClass" value="ibator.BaseBean" /> </javaModelGenerator> <sqlMapGenerator targetPackage="test.sqlmap" targetProject="src"> <!-- <property name="enableSubPackages" value="true" /> --> </sqlMapGenerator> <daoGenerator type="SPRING" targetPackage="test.dao" implementationPackage="test.dao.impl" targetProject="src"> <!-- <property name="enableSubPackages" value="true" /> --> </daoGenerator> <!-- 如果数据库里面有多个相同表名在不同的schema下,那么你得加上: schema="XXXX"和<property name="ignoreQualifiersAtRuntime" value="true" /> 不然ibator会以找到的最后一个为最终对象,这个问题苦恼了我很久,后来才发现 --> <table tableName="OTA_APPLETE_INFO" schema="XXX"> <!-- 忽略schema,避免在xml中出现schema.表名 --> <property name="ignoreQualifiersAtRuntime" value="true" /> <!-- 精确到时分秒时,需要设置下: jdbcType="TIMESTAMP"--> <columnOverride column="UPDATED_DATE" jdbcType="TIMESTAMP"/> </table> </ibatorContext> </ibatorConfiguration>
- package test.pojo;
- import ibator.BaseBean;
- import java.io.Serializable;
- import java.util.Date;
- /**
- * 2009-07-27 ss
- * <p>
- * 每个应用的具体信息
- */
- public class BaseUsers extends BaseBean implements Serializable {
- /**
- * 用户ID
- */
- private String userId;
- /**
- * 组织结构编码
- */
- private String groupId;
- /**
- * 姓名
- */
- private String userName;
- /**
- * 证件号码
- */
- private String cardNo;
package test.pojo; import ibator.BaseBean; import java.io.Serializable; import java.util.Date; /** * 2009-07-27 ss * <p> * 每个应用的具体信息 */ public class BaseUsers extends BaseBean implements Serializable { /** * 用户ID */ private String userId; /** * 组织结构编码 */ private String groupId; /** * 姓名 */ private String userName; /** * 证件号码 */ private String cardNo;
附件一个为编译后的jar文件,一个是源码+doc。
- ibator.jar.rar (430.9 KB)
- 下载次数: 60
- ibator_src_doc.rar (370.7 KB)
- 下载次数: 67
- ibator-2010-12-7.jar.rar (432.6 KB)
- 下载次数: 20
发表评论
-
pushlet
2012-05-31 14:56 1184基于pushlet的文件监控系统的研究与实现 http ... -
@Transactional spring 配置事务
2012-04-25 11:15 2106@Transactional spring 配置事 ... -
Spring的组件自动扫描机制
2012-04-09 17:47 0Spring将所有的bean都纳入到IOC中创建、管理和维护。 ... -
struts&rest
2012-04-03 00:11 804深入浅出REST http://www.infoq. ... -
文件转码
2011-11-16 09:55 2043工程项目太多,各工程或各文件编码不统一时,可运行本工具类,把工 ... -
安装和使用SpringIDE-------III
2011-07-29 10:40 8792. 编写类文件 · ... -
安装和使用SpringIDE-------II
2011-07-29 10:39 695显示图表,如图: 发表于 @ 2006 ... -
安装和使用SpringIDE
2011-07-29 10:36 1143这篇文章谈谈如何安装与使用SpringIDE。作为辅助Sp ... -
使用AJDT简化AspectJ开发
2011-07-29 10:05 1074面向方面编程(AOP)可用来解决当今的 许多 应用需求 ... -
利用Apache的CLI来处理命令行
2011-05-16 17:02 994CLI是Jakarta Commons中的一个子类。如果你仅仅 ... -
CGlib简单介绍
2011-04-28 08:37 897CGlib概述:cglib(Code Generation L ... -
Java ClassLoader
2011-04-25 18:24 1025当Java编译器编译好.class ... -
Template模式与Strategy模式
2011-04-20 16:23 703template method模式和stra ... -
Ibatis读写CLOB数据
2011-03-21 14:21 1070转载:http://www.iteye.com/topic/7 ... -
轻松构建和运行多线程的单元测试
2011-03-18 22:09 1016背景 并行程序 并行程序是指控制计算机系统中两个或多个分别 ... -
Cairngorm3中文简介
2011-03-18 22:07 1040官方原文地址:http://opensource.adobe. ... -
quatrz 任务监控管理 (2)
2010-10-28 23:28 1454在《Quartz 任务监控管理 (1)》http://www. ... -
Quartz任务监控管理 (1)
2010-10-28 23:27 1336转载:http://sundoctor.iteye.com/b ... -
Quartz 在 Spring 中如何动态配置时间
2010-10-28 23:25 1732转载: http://sundoctor.iteye.com ... -
使用org.apache.commons.net.ftp包开发FTP客户端,实现进度汇报,实现断点续传,中文支持
2010-10-28 21:09 1069使用org.apache.commons.net.ftp包开发 ...
相关推荐
- **设置生成策略**:定义生成的Java类和XML配置文件的命名规则、是否生成注释、字段映射等。 - **生成代码**:确认设置无误后,点击“Finish”生成代码。 生成的代码通常包括: - **实体类(Entity Class)**:...
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
kolesar_3cd_01_0716
latchman_01_0108
matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
pimpinella_3cd_01_0716
petrilla_01_0308
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
内容概要:本文档由张卓老师讲解,重点探讨DeepSeek的技术革新及强化学习对未来AI发展的重要性。文章回顾了AI的历史与发展阶段,详细解析Transformer架构在AI上半场所起到的作用,深入介绍了MoE混合专家以及MLA低秩注意机制等技术特点如何帮助DeepSeek在AI中场建立优势,并探讨了当前强化学习的挑战和边界。文档不仅提及AlphaGo和小游戏等成功案例来说明强化学习的强大力量,还提出了关于未来人工通用智能(AGI)的展望,特别是如何利用强化学习提升现有LLMs的能力和性能。 适用人群:本资料适宜对深度学习感兴趣的研究人员、开发者以及想要深入了解人工智能最新进展的专业人士。 使用场景及目标:通过了解最新的AI技术和前沿概念,在实际工作中能够运用更先进的工具和技术解决问题。同时为那些寻求职业转型或者学术深造的人提供了宝贵的参考。 其他说明:文中提到了许多具体的例子和技术细节,如DeepSeek的技术特色、RL的理论背景等等,有助于加深读者对于现代AI系统的理解和认识。
有师傅小程序开源版v2.4.14 新增报价短信奉告 优化部分细节
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
商城二级三级分销系统(小程序+后台含源码).zip
li_3ck_01b_0918
nicholl_3cd_01_0516
媒体关注度是一个衡量公众对某个事件、话题或个体关注程度的重要指标。它主要反映了新闻媒体、社交媒体、博客等对于某一事件、话题或个体的报道和讨论程度。 媒体监督的J-F系数(Janis-Fadner系数)是一种用于测量媒体关注度的指标,特别是用于评估媒体对企业、事件或话题的监督力度。J-F系数基于媒体报道的正面和负面内容来计算,从而为公众、研究者或企业提供一个量化工具,以了解媒体对其关注的方向和强度。 本数据含原始数据、参考文献、代码do文件、最终结果。参考文献中JF系数计算公式。 指标 代码、年份、标题出现该公司的新闻总数、内容出现该公司的新闻总数、正面新闻数全部、中性新闻数全部、负面新闻数全部、正面新闻数原创、中性新闻数原创、负面新闻数原创,媒体监督JF系数。
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
lusted_3cd_02_0716