Ibatis自动生成工具的使用 Abator

转载自:http://hi.baidu.com/jiangyou001/blog/item/036f894ce98bfdfdd62afc45.html
Ibatis自动生成工具的使用 Abator —— IBatis 代码生成工具
2008年01月03日 星期四 15:19
对于IBatis应用最烦人的重复工作就是不停的写DAO,DTO,和xml文件里面的sqlmap,其实很多时候这些工作是重复而且无聊的。好在我们还有abator (http://ibatis.apache.org/abator.html ),一个IBatis自动生成工具,他可以帮助你生成大量的DAO,DTO和sqlmap。
如果你使用eclipse作为IDE那么事情就很简单了(相信没有几个人不在用):
安装Eclipse插件
1. 要求eclipse3.1,jdk1.4以上
2. 在eclipse上安装abator插件
eclipse菜单栏 --> help --> Software Updates --> Find And Install...
在弹出的对话框中选择 “Search for new features to install” 然后点击 “next”
在对话框中点击按钮 New Remort Site... 在弹出的对话框中的URL输入框中填写 http://ibatis.apache.org/tools/abator ,Name输入框就随便写些什么了。
点击Finish,安装插件,然后重新启动eclipse

下面测试一下功能
1. 新建一个java工程
2. 在eclipse菜单栏中兴建一个 abator 配置文件
File --> Abator for iBatis Configration File

好的,我们完成了创建配置文件,下面打abator配置文件,看看里面怎么去配置
打开后内容基本上是这样

xml 代码
<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE abatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Abator for iBATIS Configuration 1.0//EN"
"http://ibatis.apache.org/dtd/abator-config_1_0.dtd">

<abatorConfiguration>
<abatorContext> <!-- TODO: Add Database Connection Information -->
<jdbcConnection driverClass="???"
connectionURL="???"
userId="???"
password="???">
<classPathEntry location="???" />
</jdbcConnection>

<javaModelGenerator targetPackage="???" targetProject="???" />
<sqlMapGenerator targetPackage="???" targetProject="???" />
<daoGenerator type="IBATIS" targetPackage="???" targetProject="???" />

<table schema="???" tableName="???">
<columnOverride column="???" property="???" />
</table>

</abatorContext>
</abatorConfiguration>

你需要做的是替换一些???:
1. 填写driverClass(jdbc驱动,例如oracle的就是oracle.jdbc.driver.OracleDriver)
2. 填写connectionURL(连接字符串,例如oracle的就是jdbc:oracle:thin:@192.168.0.246:1521:test)
3. 填写classPathEntry的location(jdbc驱动jar包的位置,例如E:/project/ibatistest/WebContent/WEB-INF/lib/ojdbc14.jar)
4. 填写javaModelGenerator,生成的DTO(java model 类)
targetPackage:目标包的位置,如 com.test.dto
targetProject:目标工程名称,填写配置文件所在的eclipse工程名
5. 填写sqlMapGenerator ,生成的xml sqlmap的相关配置
targetPackage:目标位置,如 com.test.sqlmap
targetProject:目标工程名称,填写配置文件所在的eclipse工程名
6. 填写daoGenerator ,生成的DAO的相关配置
type:生成的dao实现的类型,如果你使用spring的话写SPRING,否则写IBATIS
targetPackage:目标位置,如 com.test.dao
targetProject:目标工程名称,填写配置文件所在的eclipse工程名
7. 配置相关数据库的表
schema:数据库schema,oracle就是填写数据库的用户名
tableName:表名

xml 代码
<columnOverride column="???" property="???" /> 


可以先不用配置,删除就可以了

下面开始生成:
在配置文件上点解右键,选择 “Generate iBatis Artifacts”
OK,看看生成了什么吧!

我做的几个项目,一直在用这个来生成dao和xml文件,工作量减轻不少。
有些项目还自己扩展了abator

我用的是命令行方式(没用过eclipse插件):
java -cp lib/abator.jar org.apache.ibatis.abator.api.AbatorRunner -configfile abator.xml -overwrite

2:

Java代码
<?xml version="1.0" encoding="UTF-8"?>   
<!DOCTYPE abatorConfiguration
PUBLIC "-//Apache Software Foundation//DTD Abator for iBATIS Configuration 1.0//EN"
"http://ibatis.apache.org/dtd/abator-config_1_0.dtd">

<abatorConfiguration>
<abatorContext id="mssql" generatorSet="Java5">
<jdbcConnection driverClass="net.sourceforge.jtds.jdbc.Driver"
connectionURL="jdbc:jtds:sqlserver://127.0.0.1:1433/db" userId="user" password="password">
<classPathEntry location="lib/jtds-1.2.jar"/>
</jdbcConnection>

<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>

<javaModelGenerator
targetPackage="persistence.model" targetProject="..\project\src\main\java\">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>

<sqlMapGenerator
targetPackage="." targetProject="..\project\src\main\resources\">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>

<daoGenerator type="SPRING"
targetPackage="persistence.dao" targetProject="..\project\src\main\java\">
<property name="enableSubPackages" value="true"/>
</daoGenerator>

<table schema="dbo" tableName="%">
<property name="useActualColumnNames" value="true"/>
<!-- 简写配置文件,省略发下面注解的写法,生成文件时会显示警告信息,忽略之 -->
<generatedKey column="ID" sqlStatement="SqlServer" identity="true"/>
</table>
</abatorContext>
</abatorConfiguration>

引用http://www.javaeye.com/topic/138361
3:看看我的配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE abatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Abator for iBATIS Configuration 1.0//EN"
"http://ibatis.apache.org/dtd/abator-config_1_0.dtd">
<abatorConfiguration>
<abatorContext><!-- TODO: Add Database Connection Information -->
<jdbcConnection driverClass="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost:3306/test" userId="root"
password="3221058">
<!--这个地方需要写上驱动的包名
-->
<classPathEntry
location="mysql-connector-java-3.0.17-ga-bin.jar" />
</jdbcConnection>
<!--
4. 填写javaModelGenerator,生成的DTO(java model 类)
targetPackage:目标包的位置,如 com.test.dto
targetProject:目标工程名称,填写配置文件所在的eclipse工程名
-->
<javaModelGenerator targetPackage="com.iba.dto"
targetProject="IbatisConfigFile" />
<!--

5. 填写sqlMapGenerator ,生成的xml sqlmap的相关配置
targetPackage:目标位置,如 com.test.sqlmap
targetProject:目标工程名称,填写配置文件所在的eclipse工程名
-->
<sqlMapGenerator targetPackage="com.iba.sqlmap"
targetProject="IbatisConfigFile" /><!--
6. 填写daoGenerator ,生成的DAO的相关配置
type:生成的dao实现的类型,如果你使用spring的话写SPRING,否则写IBATIS
targetPackage:目标位置,如 com.test.dao
targetProject:目标工程名称,填写配置文件所在的eclipse工程名
-->
<daoGenerator type="IBATIS" targetPackage="com.iba.dao"
targetProject="IbatisConfigFile" />
<!--

7. 配置相关数据库的表
schema:数据库schema,oracle就是填写数据库的用户名
tableName:表名
-->
<table schema="ibatis" tableName="blog">
</table>
</abatorContext>
</abatorConfiguration>

最后需要在你的项目中加上这3个包ibatis-common-2.jar ,ibatis-sqlmap-2.jar, ibatis-dao-2.jar
zynq的irq_f2p 如何增加或修改中断引脚个数(宽度) ZYNQ开发过程中,如果使用PL到PS的中断,会产生一个疑问,设置界面显示可以有[91:84]、[68:61]共16个中断引脚,但是并没有设置中断口的宽度,如果使用多个中断引脚,应该怎么办?如果通过concat连接多个引脚,则自动调整为对应的引脚数。例如连接3个中断信号,则自动调整为:IRQ_F2P[2:0] 阅读详情

相关推荐

安卓应用锁开发实战:如何通过拦截Activity启动实现密码验证(附完整代码)

本文深入探讨了在安卓系统中开发应用锁功能的两种实战方案:通过修改ActivityStarter源码或实现IActivityController接口来拦截Activity启动流程,从而实现启动前的密码验证。文章详细对比了两种方案的技术选型、实现细节与适用场景,并提供了处理隐式Intent、验证状态管理等核心问题的完整代码,为开发系统级安全功能提供了实用指南。

tcp8optimizer的博客 456

使用abator自动生成ibatis代码的经验

1:abator下载:http://ibatis.apache.org/abator.html2:将abator安装到eclipse中3:此时可以新建一种文件类型:Abator for iBATIS Configuration File,建立一个4:在 jdbcConnection 中设置要mapping的数据库的jdbc连接  classPathEntry 是你的jdbc driver类路径5:

feilovemao的专栏 717

直线型一阶倒立摆1---从理论到实践的桥梁

本文深入探讨了直线型一阶倒立摆在控制理论中的核心地位,从非线性控制、鲁棒性到实时反馈等关键问题。通过实际案例和硬件搭建指南,帮助读者理解从理论到实践的过渡,特别适合控制工程初学者和研究人员。文章还提供了算法选型建议和硬件避坑手册,是掌握倒立摆控制的实用指南。

weixin_29047545的博客 317

Mybatis一对多的关系

前言:本项目是使用idea进行开发,数据库使用的是Mysql。 province(一)----------city(多) 1.搭建maven项目,引入mybatis需要的依赖 默认没有java、resources、test等文件夹,习惯性建立这几个文件夹,建立文件夹的时候注意标记文件夹的用途(不然编译器无法识别,无法编译代码) pom.xml(注意要将实体包下面的xml文件设置可编译) &lt...

小思的博客 295

用Blender给ArduPilot无人船编队设计灯光秀:从建模到飞行的保姆级教程

本文详细介绍了如何利用Blender和ArduPilot为无人船编队设计灯光秀的全流程技术方案。从3D动画设计、坐标转换、数据导出到ArduPilot飞控配置和灯光控制,提供了一套完整的保姆级教程,帮助开发者实现水面灯光编队表演。

weixin_29213525的博客 386

iOS面试题大全(附带答案)

C语言相关面试题 1.static有什么用途? 答案:在C语言中,static主要定义全局静态变量,定义局部静态变量,定义静态函数。 static 属于静态变量,使用它修饰的变量生命周期是整个源程序。 @1.在函数体内的 static 变量的作用范围为该函数体,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; @2.在模块内的 static 全局变量可以被模块内所有函数访问,但不能被模块外其它函数访问; @3.在模块内的 static 函数只被这一模块内的其它函数调用,这个函数的使用范围被限

IOSNF的博客 2425

mybatis的基本的增删改查单条

&lt;table sqlname="catetory"&gt; &lt;operation name="queryByCatetoryId"&gt; &lt;sql&gt; select catetory_id, catetory_name, from catetory...

红豆和绿豆的博客 581

LVGL移植教程(正点原子)

学习正点原子LVGL移植教程,根据视频教程写的博客

papalila的博客 939

Codeforces1061C Multiplicity

标签:DP 题目 题目传送门 题意 给出序列aia_iai​,询问有多少个a的子序列b满足,对于任意bib_ibi​,b[i]mod&amp;ThinSpace;&amp;ThinSpace;i=0b[i]\mod i=0b[i]modi=0 分析 简单DP f[i][j]=f[i−1][j−1]+f[i−1][j](a[i]mod&amp;ThinSpace;&amp;ThinSpace;j=0...

Welcome to yjjr's blog! 423

STM32内存大小与地址的对应关系以及计算方法

1、概述 在计算机中要访问存储区,都是通过地址来进行访问的,包括所有的外设(比如串口、内存、硬盘等),都对应有一个访问地址,地址就相当于门牌号,有了门牌号,我们才知道操作的是哪一个区域、哪一个外设。 最被大家熟知的是计算机内存,计算机内存有4G、8G,16G等等,对于程序员而言,要在代码中操作这些内存,肯定得知道内存的地址,此外,还需要会计算地址与内存大小的计算方法与对应关系。STM32作为微

Ace's Blog 4万+

别再只会调速度了!用STM32的定时器中断精准控制伺服电机转角(避坑指南)

本文详细介绍了如何利用STM32的定时器中断和PWM输出实现伺服电机的精准转角控制,避免常见的速度控制误区。通过硬件配置、脉冲计数逻辑和优化技巧的实战讲解,帮助开发者掌握高精度位置控制方法,适用于工业自动化和机器人控制等场景。

weixin_42531163的博客 414

CF1061C Multiplicity

题目:Multiplicity 思路: 先把每一个数的质因数处理出来。 令f[i]表示长度为i的子序列的方案数。 转移方程: fi=∑fi−1f_i=\sum f_{i-1}fi​=∑fi−1​ 代码: #include&lt;bits/stdc++.h&gt; using namespace std; #define read(x) scanf("%d",&amp;x) #define max...

iwi 376

安卓15_ROM修改定制化_____修改rom的前提条件 去除各种验证 安卓设备通用

通过博文了解💝💝💝 1-------💝💝💝了解安卓设备的启动流程与核心验证机制 2-------💝💝💝了解安卓设备修改rom中的各种验证机制以及对应的去除方法 3-------💝💝💝了解avb验证与dm验证的本质区别与对应的操作方式 4-------💝💝💝修改rom前的循序步骤 避免验证机制导致的不开机

小马哥的专栏 506

abator配置mysql_ibatis的dao自动生成工具abator

/Files/mengyuan760/abator_application.rar提供一个自己配置好的包,如果要使用主要修改abatorConfig.xml文件的数据库链接,表名就行,这是针对mysql的。需要配置ant环境,然后运行 包下的run.bat 就可以了。Ibatis自动生成工具ibatis作为ORM的一分子,已经存在很久了,而本人也是由于工作原因到现在才接触到。刚接触,总是想和hib...

weixin_39996750的博客 139

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

abator使用后的几个注意点(ibatis自动生成工具)

 abator是iBATIS的自动生成文档的工具插件,而iBATIS则是用于持久层类似Hibernate,但可以手动写sql, 更加灵活。 产品链接:http://ibatis.apache.org/abator.html 针对我在使用abator时遇到的几个问题的解决方案: 1.eclipse-rcp-europa-fall2-win32这个版本的eclipse中,使用AbatorF

溺水的鱼 - Later equals never. 1904

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Abator自动生成ibatis的相关配置和类

一、abator自动生成配置:abator自动生成ibatis的配置文件、mode、sqlMap、dao、bean实例准备:1、安装Eclipse插件: 要求eclipse3.1,jdk1.4以上 在eclipse上安装abator插件 eclipse菜单栏 --> help --> Software Updates...

b129266314387022的博客 139

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Ibatis自动生成工具的使用Abator

刚接触IBatis按照官方的文档一致都是不停的写DAO,DTO,和xml文件里面的sqlmap,其实很多时候这些工作是重复而且无聊的(对于新手来说,一定是个很好的学习过程。)。好在我们还有abator (http://ibatis.apache.org/abator.html ),一个IBatis自动生成工具,他可以帮助你生成大量的DAO,DTO和sqlmap。 如果你使用eclipse作为ID...

itroop的专栏 198

Ibatis代码自动生成工具——Abator安装与应用实例

Ibatis代码自动生成工具——Abator安装与应用实例(图解) Abator 能自动生成DAO,DTO(实体类)和sqlMap(ibatis的配置文件),大大提高开发效率。 使用也比较简单,以下做个实例来介绍: 一、环境准备 我的环境:Eclipse SDK Version: 3.6 JDK1.6 mysql 5.5 二、插件安装 1、点击"Help>Install New S

江南渔翁-孤独的垂钓者 708
上一篇: java.lang.OutOfMemoryError: PermGen space及其解决方法
下一篇: 同一帐号同一时间只能一个地点登陆
chenchen99
博客等级 码龄18年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值