转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
自己搞的在oralce下动态生成IBATIS的sqlMap文件小工具         

自己搞的在oralce下动态生成IBATIS的sqlMap文件小工具

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2525 更新时间:2007/11/14 12:53:57
ic>";
result += "\n</update>\n\n\n";
return result;
}

private String createWhereSql(ResultSetMetaData rsmd, int numberOfColumns,
String prepend, int detail) throws SQLException {
String result = "";

for (int i = 1; i <= numberOfColumns; i++) {
String colName = rsmd.getColumnNameLight Bulb;

result += ("\n <isPropertyAvailable prepend=\"\" property=\""
+ colName.toLowerCase() + "\" >");

result += ("\n <isNotNull prepend=\"" + prepend
+ "\" property=\"" + colName.toLowerCase() + "\" >");

switch (detail) {
case 1: //where 语句
result += ("\n " + colName + "=#"
+ colName.toLowerCase() + "#");

break;

case 2: //insert的语句
result += ("\n " + colName.toLowerCase());

break;

case 3: //insert 准备的
result += ("\n #" + colName.toLowerCase() + "#");

break;

case 4: //修改的set语句

result += ("\n "
+ colName
+ "=#"
+ colName.toLowerCase()
+ (Types.VARCHAR == rsmd.getColumnTypeLight Bulb ? ":VARCHAR"
: "") + "#");

break;

default:
break;
}

result += ("\n </isNotNull>")
+ "\n </isPropertyAvailable>";
}

return result;
}

private void getType(ResultSetMetaData rsmd, int i, HashMap colMap)
throws SQLException {
switch (rsmd.getColumnTypeLight Bulb) {
case Types.VARCHAR:
colMap.put("COLUMNTYPE", rsmd.getColumnTypeNameLight Bulb + "("
+ rsmd.getPrecisionLight Bulb + ")");
break;
case 2:
colMap.put("COLUMNTYPE", rsmd.getColumnTypeNameLight Bulb + "("
+ rsmd.getPrecisionLight Bulb + "," + rsmd.getScaleLight Bulb + ")");
break;
default:
colMap.put("COLUMNTYPE", rsmd.getColumnTypeNameLight Bulb);
break;
}
}

private List getTableNames() throws DataAccessException {
List result = new Vector();

//SqlMap sqlMap = DaoCommon.getSqlMap(this);
Connection conn;
try {
conn = getSqlMapTempInstance().getDataSource().getConnection();
DatabaseMetaData dbmd = conn.getMetaData();
ResultSet rs = dbmd.getTableTypes();
String[] types = { "TABLE" };
rs = dbmd.getTables(null, dbmd.getUserName(), "%", types);

while (rs.next()) {
result.add(rs.getString("TABLE_NAME"));
}

rs.close();

} catch (SQLException e) {

e.printStackTrace();
}

return result;
}

public String getFilePath() {
return filePath;
}

public void setFilePath(String filePath) {
this.filePath = filePath;
}

public String getMapTablename() {
return mapTablename;
}

public void setMapTablename(String mapTablename) {
this.mapTablename = mapTablename;
}
}

SQL-CONFIG文件配置是:
<?xml version="1.0" encoding="GB2312" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
  <properties resource="cn/com/mofit/demo/system/dao/maps/jdbc.properties"/>
<!-- debug环境下,将其设为false. 正式运行时应设为true,启用缓存 -->
<settings
  cacheModelsEnabled="false"
  />
<transactionManager type="JDBC">
  <dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${jdbc.driverClassName}"/>
<property name="JDBC.ConnectionURL" value="${jdbc.url}"/>
<property name="JDBC.Username" value="${jdbc.username}"/>
<property name="JDBC.Password" value="${jdbc.password}"/>
<property name="Pool.MaximumActiveConnections"
value="10"/>
<property name="Pool.MaximumIdleConnections" value="5"/>
<property name="Pool.MaximumCheckoutTime"
value="120000"/>
<property name="Pool.TimeToWait" value="500"/>
<property name="Pool.PingQuery" value="select 1 from
ACCOUNT"/>
<property name="Pool.PingEnabled" value="false"/>
<property name="Pool.PingConnectionsOlderThan"
value="1"/>
<property name="Pool.PingConnectionsNotUsedFor"
value="1"/>
</dataSource>
</transactionManager>
<!-- 非常简洁,将用到的sqlMap文件列到这儿就行了 -->
<sqlMap resource="cn/com/mofit/demo/system/dao/maps/User.xml" />
<sqlMap resource="cn/com/mofit/demo/bank/dao/maps/Bank.xml" />
</sqlMapConfig>

jdbc.properties文件配置:
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thinAngryIP:1521:SID
jdbc.username=
jdbc.password=
jdbc.maxActive=3
jdbc.maxIdle=1
jdbc.maxWait=5000

上一页  [1] [2] 


[Sql Server]iBATIS SQL Maps(三)  [Sql Server]iBATIS SQL Maps(四)
[Sql Server]iBATIS SQL Maps(一)  [Sql Server]iBATIS SQL Maps(二)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台