- 浏览: 3472712 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wanglf1207:
EJB的确是个不错的产品,只是因为用起来有点门槛,招来太多人吐 ...
weblogic-ejb-jar.xml的元素解析 -
qwfys200:
总结的不错。
Spring Web Flow 2.0 入门 -
u011577913:
u011577913 写道也能给我发一份翻译文档? 邮件437 ...
Hazelcast 参考文档-4 -
u011577913:
也能给我发一份翻译文档?
Hazelcast 参考文档-4 -
songzj001:
DbUnit入门实战
将数据库脚本转换成ibatis代码自动生成脚本
表结构:
create table tab_hr_emp_education(
edu_id varchar2(10) not null,
emp_id varchar2(10) not null,
school varchar2(50) not null,
record varchar2(50) not null,
study_sys char(1) not null,
study_context varchar2(2000),
startdate date,
enddate date,
relate_person varchar2(30),
relate_phone varchar2(40),
remark varchar2(2000)
);
转换后的结果:
<table tableName="tab_hr_emp_education" domainObjectName="HrEmpEducationBean">
<property name="useActualColumnNames" value="false"/>
<columnOverride column="edu_id" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="emp_id" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="school" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="record" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="study_sys" jdbcType="CHAR" javaType="String"/>
<columnOverride column="study_context" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="startdate" jdbcType="Date" javaType="java.util.Date"/>
<columnOverride column="enddate" jdbcType="Date" javaType="java.util.Date"/>
<columnOverride column="relate_person" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="relate_phone" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="remark" jdbcType="VARCHAR2" javaType="String"/>
</table>
完整的abatorConfig1.xml文件
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE abatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Abator for iBATIS Configuration 1.0//EN"
"http://ibatis.apache.org/dtd/abator-config_1_0.dtd
">
<!-- Notice(should set true): SqlMapConfig.xml/sqlMapConfig/settings/useStatementNamespaces="true" -->
<abatorConfiguration>
<abatorContext id="forTest">
<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@192.168.10.84:1521:ora10"
userId="nnbh_spro"
password="nnbh_spro">
<classPathEntry location="D:\ibaits\classes12.jar" />
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="com.forlink.cc.entity.bean"
targetProject="D:\CVS_ROOT\impl\java\ver1.0\apps\cc\src">
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="sqlmap.autogenerate"
targetProject="D:\CVS_ROOT\impl\java\ver1.0\apps\conf\cc">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<daoGenerator type="GENERIC-CI" targetPackage="com.forlink.cc.entity.dao"
targetProject="D:\CVS_ROOT\impl\java\ver1.0\apps\cc\src">
<property name="enableSubPackages" value="false"/>
<property name="methodNameCalculator" value="default"/>
<property name="exampleMethodVisibility" value="public"/>
<property name="rootClass" value="com.forlink.cc.DAO"/>
</daoGenerator>
<table tableName="tab_hr_emp_education" domainObjectName="HrEmpEducationBean">
<property name="useActualColumnNames" value="false"/>
<columnOverride column="edu_id" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="emp_id" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="school" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="record" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="study_sys" jdbcType="CHAR" javaType="String"/>
<columnOverride column="study_context" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="startdate" jdbcType="Date" javaType="java.util.Date"/>
<columnOverride column="enddate" jdbcType="Date" javaType="java.util.Date"/>
<columnOverride column="relate_person" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="relate_phone" jdbcType="VARCHAR2" javaType="String"/>
<columnOverride column="remark" jdbcType="VARCHAR2" javaType="String"/>
</table>
</abatorContext>
</abatorConfiguration>
转换数据代码
public static void main(String[] args)
{
String xml = "";
try
{
File b = new File("D:\\1.sql");
BufferedReader bis = new BufferedReader(new FileReader(b));
String t = "";
boolean start = false;
while ((t = bis.readLine()) != null)
{
if(!start && t.indexOf("create")>-1 && t.indexOf("table")>-1)
{
start = true;
String tableName = t.substring(t.indexOf("table")+6,t.indexOf("(")).trim();
String tableBean = "";
char[] tt = tableName.toCharArray();
boolean tmpFlag = true;
for (int i = 4; i < tt.length; i++)
{
if(tmpFlag)
{
tableBean += String.valueOf(tt[i]).toUpperCase();
tmpFlag = false;
}
else
{
if(tt[i] == '_')
{
tmpFlag = true;
continue;
}
else
tableBean += String.valueOf(tt[i]);
}
}
tableBean += "Bean";
xml += "<table tableName=\""+tableName+"\"
domainObjectName=\""+tableBean+"\">\n\t<property
name=\"useActualColumnNames\" value=\"false\"/>\n";
// System.out.println(tableName.toUpperCase());
}
else
{
if(start)
{
if(t.indexOf("primary")>-1)
{
//xml += "\t<generatedKey
column=\""+t.substring(t.indexOf("primary
key")+11,t.indexOf(")")).trim().replaceAll("\\(", "")+"\"
sqlStatement=\"ORACLE\" identity=\"true\" />\n" ;
if(t.indexOf(");")>-1)
{
start = false;
xml +="</table>\n";
}
continue;
}
if(t.indexOf(");")>-1)
{
start = false;
xml +="</table>\n";
continue;
}
//处理特殊类型
t = t.replaceAll("long varchar", "longvarchar");
t = t.replaceAll("\t", "*");
String tmp = t.replaceAll(" ", "*");
String[] bb = tmp.split("\\*");
String field = "";
String dataType = "";
for (int i = 0; i < bb.length; i++)
{
if(field.equals("") && !bb[i].equals(""))
{
field = bb[i].trim();
// field = field.replaceAll(" ", "");
continue;
}
else if(dataType.equals("") && !bb[i].equals(""))
{
dataType = bb[i].trim().toUpperCase();
break;
}
}
if(dataType.indexOf("(")>-1)
dataType = dataType.substring(0,dataType.indexOf('('));
if(dataType.indexOf(',')>-1)
dataType = dataType.substring(0,dataType.indexOf(','));
if(dataType.equals("DATE"))
dataType = "Date";
xml += "\t<columnOverride column=\""+field.toLowerCase()+"\"
jdbcType=\""+ dataType + "\"
javaType=\""+toJavaType(dataType)+"\"/>\n";
}
}
}
System.out.println(xml);
}
catch (Exception e)
{
e.printStackTrace();
}
}
private static String toJavaType(String dataType)
{
dataType = dataType.toUpperCase();
if(dataType.equals("NUMBER"))
{
return "long";
}
else if(dataType.equals("INT"))
{
return "int";
}
else if(dataType.equals("VARCHAR2"))
{
return "String";
}
else if(dataType.equals("VARCHAR"))
{
return "String";
}
else if(dataType.equals("LONGVARCHAR"))
{
return "String";
}
else if(dataType.equals("TEXT"))
{
return "String";
}
else if(dataType.equals("BLOB"))
{
return "byte[]";
}
else if(dataType.equals("DATE"))
{
return "java.util.Date";
}
else if(dataType.equals("TIMESTAMP"))
{
return "java.sql.Timestamp";
}
else if(dataType.equals("CHAR"))
{
return "String";
} else
return "";
}
发表评论
-
oracle复制表数据,复制表结构
2011-07-25 21:19 361361.不同用户之间的表数据复制 对于在一个数据库上的两个 ... -
删除 SQL Server 的所有已知实例
2011-04-05 18:42 2000如果提示实例已经被注册,无法安装,那么: 删除 SQL ... -
【SQL】安装 SQL SERVER MsiGetProductInfo 无法检索 Product Code 1605错误 解决方案
2011-04-05 17:10 4804重装数据库服务器上的SQL SERVER 2008 上遇到了以 ... -
Mysql Using Master/Slave Replication with ReplicationConnection
2011-03-24 15:19 1949Starting with Connector/J 3.1.7 ... -
oracle网络配置listener.ora、sqlnet.ora、tnsnames.ora
2010-12-03 12:36 33298oracle网络配置 三个配置文件 listener.ora ... -
Oracle XE的数据库创建过程
2010-12-02 22:55 4295今天安装了Oracle XE,发现并没有自动创建数据库。趁着 ... -
实现数据库TPC性能测试的开源及商业软件
2010-12-02 01:11 3096商业软件 Benchmark Factory ... -
MySQL压力测试工具mysqlslap
2010-11-07 17:13 1738MySQL从5.1.4版开始带有一个压力测试工具mys ... -
一台机器上安装多个mysqld实例
2010-11-06 16:09 2132一台机器安装多个mysqld实例 1. ps -aux | ... -
MySQL数据库双向同步
2010-08-25 20:23 40321. 主从关系的同步 master端 192.168.5 ... -
MySQL 数据库之间的同步(windows与linux)
2010-08-25 20:14 31641.导出windows mysql的test库到linux m ... -
Ubuntu Server 下开启远程连接 MySQL
2010-03-16 23:24 3074要通过远程连接MySQL,需要做两步:第一步是要创建一个可以远 ... -
DB2 在REDHAT 5下的详细安装过程 DB2 9.5 C EXPRESS
2010-03-02 10:43 4535过详细测试并且补充后发表, 括号内的为自行添加的内容. ... -
IBM DB2 Express-C 9.5.2
2010-03-02 09:44 3471或许您已经知 ... -
Oracle Database 10g Express Edition安装小结
2010-03-01 15:28 9134racle Database 10g Express Edit ... -
HA JDBC – High Availability JDBC
2010-02-27 18:46 3282Some time ago I worked on a pr ... -
数据归档将走向何方
2010-02-25 11:50 2242数据量的爆炸性增长,让我们不得不更加关心存储。这也造成 ... -
Database
2010-02-18 15:53 2289下一代数据库发展的4大趋势 趋势之一:对XML的支 ... -
免安装Oracle运行pl/sql developer
2010-02-16 20:27 2163Sql客户端中,虽然最便捷的是万能而且轻量无比的Sql Wor ... -
在debian上安装oracle 10g express
2010-02-16 18:46 4885在debian上安装oracle 10g express 若 ...
相关推荐
ibatis代码自动生成,ibatis代码自动生成,ibatis代码自动生成,ibatis代码自动生成
ibatis代码自动生成代码程序,有现成的例子,只要将配制文件中的数据库连接连接和数据库表名、实体类名、包名修改在你想要的就可以,1分钟内搞定,实体类。
自动生成ibatis所需文件,达到快速查询,减少工作量的效果 CorpChannelDAO.java CorpChannelDAOimpl.java CorpChannel.java CorpChannelExample.java game_channel__corp_channel_SqlMap.xml 详情步骤请见...
IBATIS3代码生成器 ibatis,Ibator,Abator
Java_SSM成型框架 + Mysql数据库sql文件 + ibatis 代码生成器 + 登录/注册弹窗页面 , 数据已经打通,开箱即用, 里面有一个是maven开发下环境框架,一个是war包内含jar资源, 开发环境用的是Eclipse + mysql 5.7 + ...
sqlserver Ibatis XML自动生成工具,本人正在使用的工具;下载后配置XML数据库连接和用户名密码,输入表名即可生成
ibatis 自动生成工具 用于生成dao 实体类
网上关于ibatis代码自动生成的例子不少,但是让人还是感到一头雾水,本文附添加过程以及基础包。
ibatis代码生成工具。iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。于2010年6月16号被谷歌托管,改名为MyBatis。是一个基于SQL映射支持Java和.NET的持久层...
1)、数据库类型选择:目前支持Oracle和Mysql两种数据库语句的生成,默认是Oracle。 2)、要生成建表语句, a)、请在“数据库定义Excel文件路径”中选择对应的文件, b)、然后点击下面的按钮“根据数据库...
NULL 博文链接:https://bijian1013.iteye.com/blog/2093452
自动生成action- mapper层所有增删改查代码,使用方便简单
IBatis的配置文件 XML 生成工具。 简单易用,基于.NET平台。
Abator自动生成ibatis代码!
iBATIS的代码生成器 iBATIS的代码生成器 iBATIS的代码生成器
本工具的主要功能是:根据您指定的数据库地址选择表或自定义属性信息(文件),生成对应的pojo类和ibatis配置文件; 3. 目前支持的较好的是mysql数据库,oracle的也支持,但还没经过测试,故暂不提供此功能选项...
iBatis自动代码生成工具abator的演示教程
是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架(struts,strust2,springmvc,hibernate,ibatis,spring_jdbc,flex)搭建好,并内置一个代码生成器,辅助项目开发,可以生成java的hibernat ...
根据数据库表结构SQL脚本文件 ,自动生成JAVA代码. 如 ,相应的: JAVA实体、SQL语句、HTML标签和能生成测试数据的工具类.还额外增加了纯Map类型的SQL操作 , 因为JSON转Map是非常容易且不容易丢失数据的. 我们都知道,...
设置表自动生成ibatis的sql语句等对应的配置文件