??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲成人一区二区,99久久亚洲精品无码毛片,国产精品亚洲二区在线观看http://www.tkk7.com/Johncn/zh-cnSat, 10 May 2025 10:19:05 GMTSat, 10 May 2025 10:19:05 GMT60[Struts] 使用多个资源文ghttp://www.tkk7.com/Johncn/archive/2006/01/07/27021.htmlZhuJunZhuJunSat, 07 Jan 2006 12:46:00 GMThttp://www.tkk7.com/Johncn/archive/2006/01/07/27021.htmlhttp://www.tkk7.com/Johncn/comments/27021.htmlhttp://www.tkk7.com/Johncn/archive/2006/01/07/27021.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/27021.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/27021.html    目中实现多语言国际化都是通过使用<bean:message>标签和资源文?但是如果把所有的面说明都加入一个资源文件中,通常的后果是q个文g会越来越?而且开发中不同的h加入的格式也不一?到最后很可能是谁也不知道到底资源文g中有些什么内?如果有新的开发h员加入的?很可能只好再自己需要用C么再l箋加进文g.最后维护这L文g变成很痛苦的事情.
    所以想要用多个资源文?q样可以Ҏ不同的划分规?功能,位置,词?不同的内容攑օ不同的文?方便l护.
具体的做?
1.创徏属性文件ƈ且在struts-config.xml中ؓ每一个文件声明一个message-resources元素?/STRONG>
<message-resources
  
parameter="com.oreilly.strutsckbk.MessageResources"/>

<message-resources 
  
parameter="com.oreilly.strutsckbk.LabelResources"

  key
="labels">
</message-resources>
<message-resources 
  
parameter="com.oreilly.strutsckbk.HeaderResources"

  key
="headers">
</message-resources>
注意:q里多了一个属?STRONG>key
,q就是用来在面标签中区分不同的资源文g?标签默认是用没有说?STRONG>key值的那个资源文g.

2.使用<bean:message>标签:
<bean:message bundle="labels" key="label.url"/>
注意:q里?STRONG>bundle属性就是用来指明上面提到的key属性的,以表明这?lt;bean:message>标签是要使用哪个资源文g.

说明:只能在struts1.1以上版本使用多个资源文g,struts1.0不支?lt;message-resource>属?所以不能实C面的用法.


ZhuJun 2006-01-07 20:46 发表评论
]]>
[Tomcat] 修改Tomcat端口?/title><link>http://www.tkk7.com/Johncn/archive/2006/01/02/26406.html</link><dc:creator>ZhuJun</dc:creator><author>ZhuJun</author><pubDate>Mon, 02 Jan 2006 15:42:00 GMT</pubDate><guid>http://www.tkk7.com/Johncn/archive/2006/01/02/26406.html</guid><wfw:comment>http://www.tkk7.com/Johncn/comments/26406.html</wfw:comment><comments>http://www.tkk7.com/Johncn/archive/2006/01/02/26406.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Johncn/comments/commentRss/26406.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Johncn/services/trackbacks/26406.html</trackback:ping><description><![CDATA[<div id="b15rtv3" class=postcontent> <P><FONT face=Arial size=2>安装了Oracle?启动Tomcat时出现错?</FONT></P> <P><FONT face=Arial color=#ff0000 size=2>Error starting endpoint<BR>java.net.BindException: Address already in use: JVM_Bind:8080</FONT></P> <P><FONT face=Arial color=#000000 size=2>原来Oracle的Servlet Engine也用了8080端口.那就来修改Tomcat的端?</FONT></P> <P><FONT face=Arial size=2>首相扑ֈ<FONT color=#0000cc>Tomcat 5.0\conf\server.xml</FONT>文g,然后扑ֈ下面的代?<BR></P> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">    port="8080"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>               enableLookups="false" redirectPort="8443" acceptCount="100"<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>               debug="0" connectionTimeout="20000" <BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>               disableUploadTimeout="true" /></SPAN></DIV> <P></FONT><FONT face=Arial size=2>修改 port="8080" Z惌的端口就可以?</FONT></P></DIV><img src ="http://www.tkk7.com/Johncn/aggbug/26406.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Johncn/" target="_blank">ZhuJun</a> 2006-01-02 23:42 <a href="http://www.tkk7.com/Johncn/archive/2006/01/02/26406.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[TagLib] JSP自定义标{֟http://www.tkk7.com/Johncn/archive/2006/01/02/26405.htmlZhuJunZhuJunMon, 02 Jan 2006 15:37:00 GMThttp://www.tkk7.com/Johncn/archive/2006/01/02/26405.htmlhttp://www.tkk7.com/Johncn/comments/26405.htmlhttp://www.tkk7.com/Johncn/archive/2006/01/02/26405.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/26405.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/26405.html自定义标{至要实现一个接?java.servlet.jsp.tagext.Tag,我们通常是?FONT color=#0000cc>javax.servlet.jsp.tagext.TagSupport来实?/FONT>.

 

自定义标{调用q程如下:



ZhuJun 2006-01-02 23:37 发表评论
]]>
[JDBC] 常用JDBCq接字符?/title><link>http://www.tkk7.com/Johncn/archive/2006/01/02/26404.html</link><dc:creator>ZhuJun</dc:creator><author>ZhuJun</author><pubDate>Mon, 02 Jan 2006 15:35:00 GMT</pubDate><guid>http://www.tkk7.com/Johncn/archive/2006/01/02/26404.html</guid><wfw:comment>http://www.tkk7.com/Johncn/comments/26404.html</wfw:comment><comments>http://www.tkk7.com/Johncn/archive/2006/01/02/26404.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Johncn/comments/commentRss/26404.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Johncn/services/trackbacks/26404.html</trackback:ping><description><![CDATA[<div id="3jnh5dd" class=postcontent><span id="15rj55t" class=bright-message-list><span id="l3rhdvl" class=bright-message-list><FONT face=Arial><FONT size=2><STRONG>1. MySQL</STRONG><BR> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">Class.forName( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">org.gjt.mm.mysql.Driver</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>cn </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> DriverManager.getConnection( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">, sUsr, sPwd );</SPAN></DIV><BR></FONT></FONT><FONT face=Arial><FONT size=2><STRONG>2. Microsoft SQLServer<BR></STRONG> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">Class.forName( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">com.microsoft.jdbc.sqlserver.SQLServerDriver</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>cn </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> DriverManager.getConnection( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">, sUsr, sPwd );</SPAN></DIV><BR><STRONG>3. Oracle</STRONG> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><STRONG><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></STRONG><SPAN style="COLOR: #000000">Class.forName( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">oracle.jdbc.driver.OracleDriver</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>cn </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> DriverManager.getConnection( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">, sUsr, sPwd );</SPAN></DIV></FONT></FONT></SPAN></SPAN><BR><FONT face=Arial><FONT size=2><STRONG>4.DB2</STRONG><BR> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">Class.forName(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">com.ibm.db2.jdbc.net.DB2Driver</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>String url</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">jdbc:db2://192.9.200.108:6789/SAMPLE</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>cn </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> DriverManager.getConnection( url, sUsr, sPwd );</SPAN></DIV><BR></FONT></FONT> <P><FONT face=Arial><FONT size=2><STRONG>5. ODBC</STRONG><BR></P> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">Class.forName( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">sun.jdbc.odbc.JdbcOdbcDriver</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>Connection cn </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> DriverManager.getConnection( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">jdbc:odbc:</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000"> sDsn, sUsr, sPwd );</SPAN></DIV> <P><BR></FONT></FONT><FONT face=Arial><FONT size=2><STRONG>6. PostgreSQL<BR></P> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">Class.forName( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">org.postgresql.Driver</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>cn </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> DriverManager.getConnection( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">, sUsr, sPwd );</SPAN></DIV></STRONG></FONT></FONT></DIV><img src ="http://www.tkk7.com/Johncn/aggbug/26404.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Johncn/" target="_blank">ZhuJun</a> 2006-01-02 23:35 <a href="http://www.tkk7.com/Johncn/archive/2006/01/02/26404.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[JDBC] DatabaseMetaDate接口http://www.tkk7.com/Johncn/archive/2006/01/02/26402.htmlZhuJunZhuJunMon, 02 Jan 2006 15:30:00 GMThttp://www.tkk7.com/Johncn/archive/2006/01/02/26402.htmlhttp://www.tkk7.com/Johncn/comments/26402.htmlhttp://www.tkk7.com/Johncn/archive/2006/01/02/26402.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/26402.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/26402.htmlDatabaseMetaData 接口作ؓ整体提供有关数据库的l合信息?

 从连Connection取得DatabaseMetaData :

DatabaseMetaData dbmd=con.getMetaData(); 

 DatabaseMetaData有以下常用方?:

 getDriverName() :取得驱动E序?/FONT>

 getDatabaseProductName() :取得数据库名(?MySql,Sql Server{?

 getSQLKeywords() :取得SQL中的关键?/FONT>

 getMaxConnections() : q发讉K的用户个?/SPAN>

 getNumericFunctions() : 数据库的所有数学函数的列表 

 getStringFunctions() : 数据库的所有字W串函数的列?/SPAN> 

 getSystemFunctions() : 数据库的所有系l函数的列表

 getTimeDateFunctions() : 数据库的所有日期时间函数的列表

 getTypeInfo() : 数据cd信息

 rs = dbmd.getTypeInfo();
 
while(rs.next())
 
{
    System.out.print(
" 数据cd名:"+rs.getString(1));
    System.out.print(
"  数据cdQ?/SPAN>"+ rs.getString(2));
    System.out.print(
"  _ֺQ?/SPAN>"+   rs.getString(3));
    System.out.println(
"  基数Q?/SPAN>"+   rs.getString(18));
 }

 getURL() : 数据库的url

 getUserName() : 数据库的用户

 getTables() :取得数据表信?/SPAN>

 String [ ] t = "TABLE""VIEW" };
 rs 
= dbmd.getTables(null"HR""%", t);
 
while(rs.next()){
   System.out.print(
"目录名:"+rs.getString(1));
   System.out.print(
" 模式名:"+rs.getString(2));
   System.out.print(
" 表名Q?/SPAN>"+rs.getString(3));
   System.out.print(
" 表的cdQ?/SPAN>"+rs.getString(4));
   System.out.println(
" 注释Q?/SPAN>"+rs.getString(5));
 }
 

 getPrimaryKeys() :取得主键信息

 rs = dbmd.getPrimaryKeys(null"HR","EMPLOYEES");
 
while(rs.next()){
   System.out.print(
"目录名:"+rs.getString(1));
   System.out.print(
" 模式名:"+rs.getString(2));
   System.out.print(
" 表名Q?/SPAN>"+rs.getString(3));
   System.out.print(
" 列名序P"+rs.getString(4));
   System.out.print(
" 列名序P"+rs.getString(5));
   System.out.println(
" 主键名:"+rs.getString(6));
 }
 

 getTableTypes() : 取得表的cd

 rs = dbmd.getTableTypes();
 System.out.println(
" 表的cd有:");
 
while(rs.next())
    System.out.print(
"  "+ rs.getString(1));
 System.out.println(); 

 getColumns() : 列信?/SPAN> 

 rs = dbmd.getColumns(null"HR""EMPLOYEES""%");
 
while(rs.next()){
   System.out.print(
" 表名 "+rs.getString(3)+" ");
   System.out.print(
" 列名 "+rs.getString(4)+" ");
   System.out.print(
" 数据cd"+rs.getString(5)+" ");
   System.out.print(
" 本地cd?/SPAN>"+rs.getString(6)+" ");
   System.out.print(
" 列的大小"+rs.getString(7)+" ");
   System.out.print(
" 数位数"+rs.getString(9)+" ");
   System.out.print(
" 数据基数"+rs.getString(10)+" ");
   System.out.print(
" 是否可空"+rs.getString(11)+" ");
   System.out.println(
" 索引?/SPAN>"+rs.getString(17)+" ");
 }
 

 getIndexInfo() :  索引信息 

 rs = dbmd.getIndexInfo(null"HR""EMPLOYEES"falsefalse);
 
while(rs.next()){
    System.out.print(
" 表名"+rs.getString(3)+" ");


    System.out.print(
" 索引?/SPAN>"+rs.getString(6)+" ");
    System.out.print(
" 索引cd"+rs.getString(7)+" ");
    System.out.print(
" 索引列名"+rs.getString(9)+" ");
    System.out.println(
" 索引序"+rs.getString(10)+" ");
 }


ZhuJun 2006-01-02 23:30 发表评论
]]>
[Velocity] Velocity 参考资?/title><link>http://www.tkk7.com/Johncn/archive/2006/01/02/26400.html</link><dc:creator>ZhuJun</dc:creator><author>ZhuJun</author><pubDate>Mon, 02 Jan 2006 15:25:00 GMT</pubDate><guid>http://www.tkk7.com/Johncn/archive/2006/01/02/26400.html</guid><wfw:comment>http://www.tkk7.com/Johncn/comments/26400.html</wfw:comment><comments>http://www.tkk7.com/Johncn/archive/2006/01/02/26400.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Johncn/comments/commentRss/26400.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Johncn/services/trackbacks/26400.html</trackback:ping><description><![CDATA[     摘要: Velocity 参考资? John Zhu 2005-4-7   原文:http://jakarta.apache.org/velocity/user-guide.html VTL Reference: http://jakarta.apache.org/velocity/vtl-reference-guide.html Develop...  <a href='http://www.tkk7.com/Johncn/archive/2006/01/02/26400.html'>阅读全文</a><img src ="http://www.tkk7.com/Johncn/aggbug/26400.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Johncn/" target="_blank">ZhuJun</a> 2006-01-02 23:25 <a href="http://www.tkk7.com/Johncn/archive/2006/01/02/26400.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Eclipse] 在Eclipse中安装Visual Editor插ghttp://www.tkk7.com/Johncn/archive/2006/01/02/26398.htmlZhuJunZhuJunMon, 02 Jan 2006 15:22:00 GMThttp://www.tkk7.com/Johncn/archive/2006/01/02/26398.htmlhttp://www.tkk7.com/Johncn/comments/26398.htmlhttp://www.tkk7.com/Johncn/archive/2006/01/02/26398.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/26398.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/26398.html在Eclipse中进行GUI开发需要安装Visual Editor插g:
1.Install Omondo UML(包括了VE插g所需要的EMF,GEF,q包括UML2插g):
2.Install Visual Editor插g:
  • ?/FONT>http://www.eclipse.org/vep/下蝲VE-runtime-1.0.2.1.zip;
  • VE -runtime-1.0.2.1.zip解压到c:\eclipse-plugins(可以是Q何目??在Eclipse的安装\径下的links 目录中徏立一个link文g,比如gui.ve.link,文g内容?nbsp; path=c:/eclipse-plugins/VE-runtime- 1.0.2.1, 卌个link文g要对应一个刚解压后的插g目录?注意:此目录中应包含eclipse/(features|plugins)l构);
  • 启动eclipse卛_,安装完成;

3.后期讄:

  • 点击Window菜单Q选择Customize Perspective?/SPAN>
  • Submenus栏目下选择New
  • Shortcut Categories下选择Java
  • Shortcuts中在Visual Class前划?/SPAN>
  • Submenus栏目下选择Show View
  • Shortcut Categories下选择Basic
  • Shortcuts中在Palette前划?/SPAN>
  • 通过菜单调出PaletteQ?/SPAN>Window | Show View | Palette
  • ?SPAN lang=EN-US>Menu打开Properties ViewQ?SPAN lang=EN-US style="COLOR: blue">Windows | Show View | Basic | Properties

好了,现在new->Visual Class可以进行GUI的开发了.



ZhuJun 2006-01-02 23:22 发表评论
]]>
[Velocity] Velocity中遇到的一个问?/title><link>http://www.tkk7.com/Johncn/archive/2006/01/02/26394.html</link><dc:creator>ZhuJun</dc:creator><author>ZhuJun</author><pubDate>Mon, 02 Jan 2006 15:18:00 GMT</pubDate><guid>http://www.tkk7.com/Johncn/archive/2006/01/02/26394.html</guid><wfw:comment>http://www.tkk7.com/Johncn/comments/26394.html</wfw:comment><comments>http://www.tkk7.com/Johncn/archive/2006/01/02/26394.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Johncn/comments/commentRss/26394.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Johncn/services/trackbacks/26394.html</trackback:ping><description><![CDATA[<FONT face=Arial size=2>在模板中老是讉K不到对象的属?最后发现原来是应ؓ模板中访问的对象不是一个Publicc?<FONT color=#ff3300>Class改ؓPublic</FONT>后一切OK.后来分析可能是因问权限的问题,当Class未加Public?是包内可讉K(friendly),而模板如果与对象的Class不在同一包中时自然访问不? </FONT><img src ="http://www.tkk7.com/Johncn/aggbug/26394.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Johncn/" target="_blank">ZhuJun</a> 2006-01-02 23:18 <a href="http://www.tkk7.com/Johncn/archive/2006/01/02/26394.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Hibernate] 为Hibernate提供JDBCq接http://www.tkk7.com/Johncn/archive/2006/01/02/26392.htmlZhuJunZhuJunMon, 02 Jan 2006 15:15:00 GMThttp://www.tkk7.com/Johncn/archive/2006/01/02/26392.htmlhttp://www.tkk7.com/Johncn/comments/26392.htmlhttp://www.tkk7.com/Johncn/archive/2006/01/02/26392.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/26392.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/26392.html可以通过3钟方式ؓHibernate提供JDBCq接:

1.直接提供JDBCq接对象Connection:

Class.forName("com.mysql.jdbc.Driver"); 
String url 
= "jdbc:mysql://localhost:3306/HibernateTest?user=root&password="
java.sql.Connection conn 
= DriverManager.getConnection(url); 
SessionFactory sessionFactory 
= cfg.buildSessionFactory(); 
Session session 
= sessionFactory.openSession(conn);

2.通过属性文?/SPAN>hibernate.properties配置JDBC来源:

hibernate.show_sql = true 
hibernate.dialect 
= net.sf.hibernate.dialect.MySQLDialect 
hibernate.connection.driver_class 
= com.mysql.jdbc.Driver 
hibernate.connection.url 
= jdbc:mysql://localhost/HibernateTest 
hibernate.connection.username = root
hibernate.connection.password 
= 

3.?SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; LETTER-SPACING: 0.75pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 12.0pt">q?/SPAN>XML文ghibernate.cfg.xmlq行配置:

<?xml version='1.0' encoding='big5'?> 
<!DOCTYPE hibernate-configuration 
    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" 
    "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"
> 

<hibernate-configuration> 

    
<session-factory> 

        
<!-- 昄实际操作数据库时的SQL --> 
        
<property name="show_sql">true</property> 
        
<!-- SQL方言Q这边设定的是MySQL --> 
        
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property> 
        
<!-- JDBC驱动E序 --> 
        
<property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
        
<!-- JDBC URL --> 
        
<property name="connection.url">jdbc:mysql://localhost/HibernateTest</property> 
        
<!-- 数据库用?nbsp;--> 
        
<property name="connection.username">caterpillar</property> 
        
<!-- 数据库密?nbsp;--> 
        
<property name="connection.password">123456</property> 

        
<!-- 对象与数据库表格映像文g --> 
        
<mapping resource="User.hbm.xml"/> 
    
</session-factory> 

</hibernate-configuration>


ZhuJun 2006-01-02 23:15 发表评论
]]>
[发掘Jakarta Commons] 使用StringUtilc?/title><link>http://www.tkk7.com/Johncn/archive/2005/12/27/25619.html</link><dc:creator>ZhuJun</dc:creator><author>ZhuJun</author><pubDate>Tue, 27 Dec 2005 11:35:00 GMT</pubDate><guid>http://www.tkk7.com/Johncn/archive/2005/12/27/25619.html</guid><wfw:comment>http://www.tkk7.com/Johncn/comments/25619.html</wfw:comment><comments>http://www.tkk7.com/Johncn/archive/2005/12/27/25619.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Johncn/comments/commentRss/25619.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Johncn/services/trackbacks/25619.html</trackback:ping><description><![CDATA[<P><FONT face=Arial size=2>org.apache.commons.lang.StringUtils中提供许多有用的字符串操作方法,了解q些ҎQ我们可以避免许多不必要的重复工作。下面介l其中比较有用的几个ҎQ?BR><BR></FONT><STRONG><FONT face=Arial size=2>查空字符Ԍ<BR></FONT></P></STRONG> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT><SPAN style="COLOR: #000000"><FONT face=Arial size=2>StringUtils.isBlank(String str);<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>StringUtils.isNotBlank(String str);</FONT></SPAN></DIV> <P><FONT face=Arial><FONT size=2><STRONG>~写字符Ԍ</STRONG><BR></FONT></FONT></P> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT face=Arial><FONT size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">String test </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">This is a test of the abbreviation.</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>System.out.println( StringUtils.abbreviate( test, </FONT></SPAN><SPAN style="COLOR: #000000"><FONT face=Arial size=2>10</FONT></SPAN><SPAN style="COLOR: #000000"><FONT face=Arial size=2> ) );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>[Console输出]<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>This is<IMG src="http://www.tkk7.com/images/dot.gif"></FONT></SPAN></DIV><STRONG><FONT face=Arial size=2>查找嵌套字符Ԍ<BR></FONT></STRONG> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT face=Arial><FONT size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">String htmlContent </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"><html>\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">+</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>                     </FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">  <head>\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">+</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>                     </FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">    <title>Test Page</title>\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">+</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>                     </FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">  </head>\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">+</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>                     </FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">  <body>\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">+</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>                     </FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">    <p>This is a TEST!</p>\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">+</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>                     </FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">  </body>\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">+</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>                     </FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"></html></SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000"> Extract the title from this XHTML content </SPAN></FONT></FONT><SPAN style="COLOR: #008000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">String title </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> StringUtils.substringBetween(htmlContent, </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"><title></SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">, </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"></title></SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>System.out.println( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Title: </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">+</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><FONT face=Arial size=2> title );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>[Console输出]<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>Title: Test Page</FONT></SPAN></DIV><STRONG><FONT face=Arial size=2>验证字符Ԍ<BR></FONT></STRONG> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT face=Arial><FONT size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">String test1 </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">ORANGE</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>String test2 </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">ICE9</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>String test3 </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">ICE CREAM</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>String test4 </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">820B Judson Avenue</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">boolean</SPAN><SPAN style="COLOR: #000000"> t1val </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> StringUtils.isAlpha( test1 ); </SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000"> returns true</SPAN></FONT></FONT><SPAN style="COLOR: #008000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #0000ff">boolean</SPAN><SPAN style="COLOR: #000000"> t2val </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> StringUtils.isAlphanumeric( test2 ); </SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000"> returns true</SPAN></FONT></FONT><SPAN style="COLOR: #008000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #0000ff">boolean</SPAN><SPAN style="COLOR: #000000"> t3val </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> StringUtils.isAlphaSpace( test3 ); </SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000"> returns true</SPAN></FONT></FONT><SPAN style="COLOR: #008000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #0000ff">boolean</SPAN><SPAN style="COLOR: #000000"> t4val </SPAN><SPAN style="COLOR: #000000">=</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> <BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>    StringUtils.isAlphanumericSpace( test4 ); </SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000"> returns true</SPAN></FONT></FONT></DIV><FONT face=Arial><FONT size=2><STRONG>计算字符串出现频率:</STRONG>StringUtils.countMatches()</FONT></FONT><A name=jakartackbk-CHP-2-ITERM-2064></A><FONT face=Arial size=2> </FONT><A name=jakartackbk-CHP-2-ITERM-2065></A><BR> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT face=Arial><FONT size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">File manuscriptFile </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> File(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">manuscript.txt</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>Reader reader </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">new</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> FileReader( manuscriptFile );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>StringWriter stringWriter </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">new</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> StringWriter( );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_177_211_Open_Image onclick="this.style.display='none'; Codehighlighter1_177_211_Open_Text.style.display='none'; Codehighlighter1_177_211_Closed_Image.style.display='inline'; Codehighlighter1_177_211_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_177_211_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_177_211_Closed_Text.style.display='none'; Codehighlighter1_177_211_Open_Image.style.display='inline'; Codehighlighter1_177_211_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">( reader.ready( ) ) </SPAN><SPAN id=Codehighlighter1_177_211_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.tkk7.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_177_211_Open_Text><SPAN style="COLOR: #000000">{ writer.write( reader.read( ) ); }</SPAN></SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>String manuscript </FONT></SPAN><SPAN style="COLOR: #000000"><FONT face=Arial size=2>=</FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> stringWriter.toString( );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000"> Convert string to lowercase</SPAN></FONT></FONT><SPAN style="COLOR: #008000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>manuscript </FONT></SPAN><SPAN style="COLOR: #000000"><FONT face=Arial size=2>=</FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> StringUtils.lowerCase(manuscript);<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000"> count the occurrences of "futility"</SPAN></FONT></FONT><SPAN style="COLOR: #008000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> numFutility </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> StringUtils.countMatches( manuscript, </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">futility</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><FONT face=Arial size=2> );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN></DIV><FONT face=Arial size=2><STRONG>比较不同字符Ԍ<BR></STRONG></FONT> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT face=Arial><FONT size=2><STRONG><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></STRONG><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> dist </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> StringUtils.getLevenshteinDistance( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Word</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">, </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">World</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>String diff </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> StringUtils.difference( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Word</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">, </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">World</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000"> index </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> StringUtils.indexOfDifference( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Word</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">, </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">World</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>System.out.println( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Edit Distance: </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">+</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> dist );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>System.out.println( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Difference: </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">+</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> diff );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>System.out.println( </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Diff Index: </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #000000">+</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> index );<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>[Console输出]<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>Edit Distance: </SPAN><SPAN style="COLOR: #000000">2</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>Difference: ld<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>Diff Index: </FONT></SPAN><SPAN style="COLOR: #000000"><FONT face=Arial size=2>3</FONT></SPAN></DIV><BR> <HR> <BR> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">参考资料:<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>《Jakarta Commons Cookbook?BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>By Timothy M. O'Brien <BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>   <BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>Publisher : O'Reilly <BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>Pub Date : November </SPAN><SPAN style="COLOR: #000000">2004</SPAN><SPAN style="COLOR: #000000"> <BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>ISBN : </SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">596</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">00706</SPAN><SPAN style="COLOR: #000000">-X <BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>Pages : </SPAN><SPAN style="COLOR: #000000">400</SPAN><SPAN style="COLOR: #000000"> </SPAN></DIV><img src ="http://www.tkk7.com/Johncn/aggbug/25619.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Johncn/" target="_blank">ZhuJun</a> 2005-12-27 19:35 <a href="http://www.tkk7.com/Johncn/archive/2005/12/27/25619.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Oracle] Oracle中的dual?/title><link>http://www.tkk7.com/Johncn/archive/2005/12/26/25503.html</link><dc:creator>ZhuJun</dc:creator><author>ZhuJun</author><pubDate>Mon, 26 Dec 2005 14:28:00 GMT</pubDate><guid>http://www.tkk7.com/Johncn/archive/2005/12/26/25503.html</guid><wfw:comment>http://www.tkk7.com/Johncn/comments/25503.html</wfw:comment><comments>http://www.tkk7.com/Johncn/archive/2005/12/26/25503.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/Johncn/comments/commentRss/25503.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/Johncn/services/trackbacks/25503.html</trackback:ping><description><![CDATA[<P><FONT face=Arial size=2>Oracle中的有一个很Ҏ的表:Dual Table.q个表中只含有一行记?q且我们可以用这个表来检许多Oracle的功?比如:</FONT></P> <P><FONT face=Arial size=2></FONT></P> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT face=Arial><FONT size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">SQL</SPAN><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">select</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">789.65</SPAN><SPAN style="COLOR: #808080">*</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">123</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">from</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> dual;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">789.65</SPAN><SPAN style="COLOR: #808080">*</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">123</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #008080">--</SPAN><SPAN style="COLOR: #008080">--------</SPAN></FONT></FONT><SPAN style="COLOR: #008080"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">  </SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">97126.95</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>SQL</FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">select</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #ff00ff">abs</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #808080">-</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">890.98</SPAN><SPAN style="COLOR: #000000">) </SPAN><SPAN style="COLOR: #0000ff">from</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> dual;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #ff00ff">ABS</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #808080">-</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">890.98</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">)<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008080">--</SPAN><SPAN style="COLOR: #008080">----------</SPAN></FONT></FONT><SPAN style="COLOR: #008080"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">      </SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">890.98</SPAN></FONT></FONT></DIV> <P><FONT face=Arial size=2>更特别的的是dual表中只含有一行记?我们可以通过 desc 函数查看dual表的l构:</FONT></P> <P><FONT face=Arial size=2></FONT></P> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT face=Arial><FONT size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">SQL</SPAN><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">desc</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> dual;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top> 名称                                      是否为空? cd<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top> </SPAN><SPAN style="COLOR: #008080">--</SPAN><SPAN style="COLOR: #008080">--------------------------------------- -------- ------------------------</SPAN></FONT></FONT><SPAN style="COLOR: #008080"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top> </FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #0000ff">DUMMY</SPAN><SPAN style="COLOR: #000000">                                              </SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR2</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">1</SPAN><SPAN style="COLOR: #000000">)</SPAN></FONT></FONT></DIV> <P><FONT face=Arial size=2>查询dual表中的数?</FONT></P> <P><FONT face=Arial size=2></FONT></P> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT face=Arial><FONT size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">SQL</SPAN><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">select</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #808080">*</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">from</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><FONT face=Arial size=2> dual ;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>DU<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #008080">--<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">X</SPAN></FONT></FONT></DIV> <P><FONT face=Arial size=2>我们向dual中插入一条记录后再查?看情况会如何:</FONT></P> <P><FONT face=Arial size=2></FONT></P> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT face=Arial><FONT size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">SQL</SPAN><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">select</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #808080">*</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">from</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><FONT face=Arial size=2> dual;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>DU<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><SPAN style="COLOR: #008080"><FONT face=Arial size=2>--<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">X<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>SQL</SPAN><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">insert</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">into</SPAN><SPAN style="COLOR: #000000"> dual </SPAN><SPAN style="COLOR: #0000ff">values</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #ff0000">'</SPAN><SPAN style="COLOR: #ff0000">Y</SPAN><SPAN style="COLOR: #ff0000">'</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>已创?nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">1</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> 行?BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>SQL</SPAN><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">select</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #808080">*</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">from</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><FONT face=Arial size=2> dual;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>DU<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><SPAN style="COLOR: #008080"><FONT face=Arial size=2>--<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">X<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>SQL</SPAN><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">select</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #ff00ff">count</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #808080">*</SPAN><SPAN style="COLOR: #000000">) </SPAN><SPAN style="COLOR: #0000ff">from</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> dual;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>  </SPAN><SPAN style="COLOR: #ff00ff">COUNT</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #808080">*</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">)<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008080">--</SPAN><SPAN style="COLOR: #008080">--------</SPAN></FONT></FONT><SPAN style="COLOR: #008080"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">         </SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">2</SPAN></FONT></FONT></DIV> <P><FONT face=Arial size=2>可见管insert语句插入记录后dual中有两条记录,但只能select出第一条记?</FONT></P> <P><FONT face=Arial size=2>同样我们再试试update和delete语句:</FONT></P> <P><FONT face=Arial size=2></FONT></P> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT face=Arial><FONT size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">SQL</SPAN><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">update</SPAN><SPAN style="COLOR: #000000"> dual </SPAN><SPAN style="COLOR: #0000ff">set</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">dummy</SPAN><SPAN style="COLOR: #808080">=</SPAN><SPAN style="COLOR: #ff0000">'</SPAN><SPAN style="COLOR: #ff0000">Z</SPAN><SPAN style="COLOR: #ff0000">'</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>已更?nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">1</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> 行?BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>SQL</SPAN><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">select</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #808080">*</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">from</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><FONT face=Arial size=2> dual;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>DU<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><SPAN style="COLOR: #008080"><FONT face=Arial size=2>--<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">Z<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>SQL</SPAN><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">select</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #ff00ff">count</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #808080">*</SPAN><SPAN style="COLOR: #000000">) </SPAN><SPAN style="COLOR: #0000ff">from</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> dual;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>  </SPAN><SPAN style="COLOR: #ff00ff">COUNT</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #808080">*</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">)<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008080">--</SPAN><SPAN style="COLOR: #008080">--------</SPAN></FONT></FONT><SPAN style="COLOR: #008080"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">         </SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">2</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>SQL</FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">delete</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">from</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> dual;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>已删?nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">1</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> 行?BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>SQL</SPAN><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">select</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #808080">*</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">from</SPAN></FONT></FONT><SPAN style="COLOR: #000000"><FONT face=Arial size=2> dual;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>DU<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><SPAN style="COLOR: #008080"><FONT face=Arial size=2>--<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">Y<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>SQL</SPAN><SPAN style="COLOR: #808080">></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">select</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #ff00ff">count</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #808080">*</SPAN><SPAN style="COLOR: #000000">) </SPAN><SPAN style="COLOR: #0000ff">from</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000"> dual;<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top>  </SPAN><SPAN style="COLOR: #ff00ff">COUNT</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #808080">*</SPAN></FONT></FONT><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">)<BR><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008080">--</SPAN><SPAN style="COLOR: #008080">--------</SPAN></FONT></FONT><SPAN style="COLOR: #008080"><BR><FONT face=Arial size=2><IMG src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT face=Arial><FONT size=2><SPAN style="COLOR: #000000">         </SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">1</SPAN></FONT></FONT></DIV> <P><FONT face=Arial size=2>可见每次操作只能影响到第一条记?管select , update , delete 所针对的范围是整个?.</FONT></P><img src ="http://www.tkk7.com/Johncn/aggbug/25503.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/Johncn/" target="_blank">ZhuJun</a> 2005-12-26 22:28 <a href="http://www.tkk7.com/Johncn/archive/2005/12/26/25503.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Oracle] Oracle exp/imp导出导入工具的?[转] http://www.tkk7.com/Johncn/archive/2005/12/26/25502.htmlZhuJunZhuJunMon, 26 Dec 2005 14:19:00 GMThttp://www.tkk7.com/Johncn/archive/2005/12/26/25502.htmlhttp://www.tkk7.com/Johncn/comments/25502.htmlhttp://www.tkk7.com/Johncn/archive/2005/12/26/25502.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/25502.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/25502.html导出工具 exp

1. 它是操作pȝ下一个可执行的文?存放目录/ORACLE_HOME/bin

exp导出工具数据库中数据备份压~成一个二q制pȝ文g.可以在不同OS间迁U?BR>
它有三种模式Q?BR>a. 用户模式Q?导出用户所有对象以及对象中的数据;
b. 表模式: 导出用户所有表或者指定的表;
c. 整个数据库: 导出数据库中所有对象?BR>
2. 导出工具exp交互式命令行方式的用的例子

$exp test/test123@appdb
Enter array fetch buffer size: 4096 > 回R
Export file: expdat.dmp > m.dmp 生成导出的文件名
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3
Export table data (yes/no): yes > 回R
Compress extents (yes/no): yes > 回R
Export done in ZHS16GBK character set and ZHS16GBK NCHAR character set
About to export specified tables via Conventional Path ...
Table(T) or Partition(TRazz) to be exported: (RETURN to quit) > cmamenu 要导出的表名
. . exporting table CMAMENU 4336 rows exported
Table(T) or Partition(TRazz) to be exported: (RETURN to quit) >要导出的表名n
Table(T) or Partition(TRazz) to be exported: (RETURN to quit) > 回R
Export terminated successfully without warnings.

3. 导出工具exp非交互式命o行方式的例子

$exp scott/tiger tables=(emp,dept) file=/directory/scott.dmp grants=y

说明:把scott用户里两个表emp,dept导出到文?directory/scott.dmp

$exp scott/tiger tables=emp query="where job='salesman' and sal<1600" file=/directory/scott2.dmp

说明:在exp里面加上导出emp的查询条件job='salesman' and sal<1600

(但我个h很少q样?q是把满x件的记录生成临时表后,再exp会方便一?

$exp parfile=username.par file=/directory1/username_1.dmp,/directory1/username_2.dmp filesize=2000M log=/directory2/username_exp.log

参数文gusername.par内容
userid=username/userpassword
buffer=8192000
compress=n
grants=y

说明:username.par为导出工具exp用的参数文g,里面具体参数可以Ҏ需要去修改

filesize指定生成的二q制备䆾文g的最大字节数

(可用来解x些OS?G物理文g的限制及加快压羃速度和方便刻历史数据光盘{?

导入工具 imp

1. 它是操作pȝ下一个可执行的文?存放目录/ORACLE_HOME/bin

imp导入工具EXP形成的二q制pȝ文g导入到数据库?

它有三种模式Q?BR>a. 用户模式Q?导出用户所有对象以及对象中的数据;
b. 表模式: 导出用户所有表或者指定的表;
c. 整个数据库: 导出数据库中所有对象?BR>
只有拥有IMP_FULL_DATABASE和DBA权限的用h能做整个数据库导?BR>
imp步骤Q?BR>(1) create table (2) insert data (3) create index (4) create triggers,constraints

2.导入工具imp交互式命令行方式的例?BR>$ imp
Import: Release 8.1.6.0.0 - Production on 星期?12?7 17:01:08 2001
(c) Copyright 1999 Oracle Corporation. All rights reserved.
用户? test
口o:****
q接? Oracle8i Enterprise Edition Release 8.1.6.0.0 - bit Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
导入文g: expdat.dmp> /tmp/m.dmp
输入插入~冲区大(最ؓ 8192 ) 30720>
l由常规路径导出由EXPORT:V08.01.06创徏的文?BR>警告: 此对象由 TEST 导出, 而不是当前用?BR>已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导?BR>只列出导入文件的内容(yes/no)Qno>
׃对象已存? 忽略创徏错误(yes/no)Qno> yes
导入权限(yes/no)Qyes>
导入表数?yes/no)Qyes>
导入整个导出文g(yes/no)Qno> yes
. 正在TEST的对象导入到 SCOTT
. . 正在导入?"CMAMENU" 4336行被导入
成功l止导入Q但出现警告?


3.导入工具imp非交互式命o行方式的例子

$ imp system/manager fromuser=jones tables=(accts)
$ imp system/manager fromuser=scott tables=(emp,dept)
$ imp system/manager fromuser=scott touser=joe tables=emp
$ imp scott/tiger file = expdat.dmp full=y
$ imp scott/tiger file = /mnt1/t1.dmp show=n buffer=2048000 ignore=n commit=y grants=y full=y log=/oracle_backup/log/imp_scott.log
$ imp system/manager parfile=params.dat
params.dat 内容
file=dba.dmp show=n ignore=n grants=y fromuser=scott tables=(dept,emp)

4.导入工具imp可能出现的问?BR>
(1) 数据库对象已l存?BR>一般情? 导入数据前应该彻底删除目标数据下的表, 序列, 函数/q程,触发器等;
数据库对象已l存? 按缺省的imp参数, 则会导入p|
如果用了参数ignore=y, 会把exp文g内的数据内容导入
如果表有唯一关键字的U束条g, 不合条g不被导?BR>如果表没有唯一关键字的U束条g, 引赯录重?BR>
(2) 数据库对象有d键约?BR>不符合主外键U束? 数据会导入失?
解决办法: 先导入主? 再导入依存表
disable目标导入对象的主外键U束, 导入数据? 再enable它们
(3) 权限不够
如果要把A用户的数据导入B用户? A用户需要有imp_full_database权限

(4) 导入大表( 大于80M ) ? 存储分配p|
默认的EXP? compress = Y, 也就是把所有的数据压羃在一个数据块?
导入? 如果不存在连l一个大数据? 则会导入p|.
导出80M以上的大表时, 记得compress= N, 则不会引赯U错?

(5) imp和exp使用的字W集不同
如果字符集不? 导入会失? 可以改变unix环境变量或者NT注册表里NLS_LANG相关信息.
导入完成后再改回?

(6) imp和exp版本不能往上兼?BR>imp可以成功导入低版本exp生成的文? 不能导入高版本exp生成的文?BR>Ҏ情况我们可以?BR>$ imp username/password@connect_string
说明: connect_string 是在/ORACLE_HOME/network/admin/tnsnames.ora
定义的本地或者远端数据库的名U?BR>注意事项:
UNIX: /etc/hosts 要定义本地或者远端数据库服务器的L?BR>win98: windowshosts 和IP地址的对应关p?

win2000: winntsystem32driversetchosts


ZhuJun 2005-12-26 22:19 发表评论
]]>
[HibernateW记] lg(Component)映射http://www.tkk7.com/Johncn/archive/2005/12/22/25115.htmlZhuJunZhuJunThu, 22 Dec 2005 10:46:00 GMThttp://www.tkk7.com/Johncn/archive/2005/12/22/25115.htmlhttp://www.tkk7.com/Johncn/comments/25115.htmlhttp://www.tkk7.com/Johncn/archive/2005/12/22/25115.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/25115.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/25115.htmllg(Component)映射多用来表C对象的从属关系(l合,聚合).比如一个学生可能有姓名,q龄,性别,成W{属?其中成W是另一个对?又有U目,分数属?q里需要用lg映射来表是之间的关系.

Java代码:
// 学生
class Student{
  
private
 String name;
  
private int
 age;
  
private
 String sex;
  
private
 Grade grade;

}

// 成W
class Grade{
  
private
 String subject;
  
private float
 score;

}

数据?

-- 学生?/SPAN>
create table STUDENT ( 
    ID 
char(32not null

    NAME 
varchar(16not null

    SEX 
char(1
), 
    AGE 
integer

    
primary key
 (ID) 
);

-- 成W?/SPAN>

create table GRADE ( 
    ID 
char(32not null

    student_id 
char(32not null

    SUBJECT 
varchar(10
), 
    SCORE 
float

    
primary key
 (ID),
    
foreign key
 (student_id) 
);

Hibernate映射文g:
<?xml version="1.0"?> 
<!
DOCTYPE hibernate-mapping 
    PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" 
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"
>
 
<hibernate-mapping>
 
    
<class name="Student" table="STUDENT">
 

            
<id name="id" type="string" unsaved-value="null">
 
            
<column name="ID" sql-type="char(32)"/>
 
            
<generator class="uuid.hex"/>
 
        
</id>
 

        
<property name="name" type="string" not-null="true">
 
            
<column name="NAME" length="16" not-null="true"/>
 
        
</property>
 
        
<property name="sex" type="char" column="SEX"/>
 
        
<property name="age" type="int" column="AGE"/>
 
        
        
<component name="grade" class="Grade">
 
            
<property name="subject" type="string" column="SUBJECT" not-null="true"/>
 
            
<property name="score" type="float" column="SCORE" not-null="true"/>
 
        
</component>
 

    
</class>
 
</hibernate-mapping>


ZhuJun 2005-12-22 18:46 发表评论
]]>ORACLE常用ȝ问题1000问[转]http://www.tkk7.com/Johncn/archive/2005/12/16/24224.htmlZhuJunZhuJunFri, 16 Dec 2005 07:23:00 GMThttp://www.tkk7.com/Johncn/archive/2005/12/16/24224.htmlhttp://www.tkk7.com/Johncn/comments/24224.htmlhttp://www.tkk7.com/Johncn/archive/2005/12/16/24224.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/24224.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/24224.html阅读全文

ZhuJun 2005-12-16 15:23 发表评论
]]>
[发掘Jakarta Commons] 使用LRUMap http://www.tkk7.com/Johncn/archive/2005/12/15/24088.htmlZhuJunZhuJunThu, 15 Dec 2005 11:59:00 GMThttp://www.tkk7.com/Johncn/archive/2005/12/15/24088.htmlhttp://www.tkk7.com/Johncn/comments/24088.htmlhttp://www.tkk7.com/Johncn/archive/2005/12/15/24088.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/24088.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/24088.htmlLRUMap(Least Recently Used Cache)可用来保存最q用的几条记录,例如:保存Blog中的最q?0条留a.大多数情는作缓??EHCache)的一U策?具体使用Ҏ如下:
import java.util.Map;
import
 org.apache.commons.collections.map.LRUMap;

cache 
= new LRUMap( 5
 );     

// Populate the cache with 5 stock prices

cache.put( "MSFT"new Float( 0.03 ) );
cache.put( 
"TSC"new Float( 0.001
 ) );
cache.put( 
"LU"new Float( 23.30
 ) );
cache.put( 
"CSCO"new Float( 242.20
 ) );
cache.put( 
"P"new Float( 10.23
 ) );
     
// Now use some of the entries in the cache

Float cscoPrice  = (Float) cache.get( "CSCO" );
Float msPrice 
= (Float) cache.get( "MSFT"
 );
Float tscPrice 
= (Float) cache.get( "TSC"
 );
Float luPrice 
= (Float) cache.get( "LU"
 );
Float pPrice 
= (Float) cache.get( "P"
 );
Float msPrice2 
= (Float) cache.get( "MSFT"
 );
  
// Add another price to the Map, this should kick out the LRU item.

cache.put( "AA"new Float( 203.20 ) );
此时,~存中的元素?
[CSCO]
[MSFT]
[TSC]
[LU]
[P]
[AA]
׃LRU最q没有被讉K,所以当AA加入?׃过了缓存的最大容?5),所以被剔除了缓?


参考资?
<<
Jakarta Commons Cookbook>>
 
By Timothy M. O
'Brien 

   
Publisher : O
'Reilly 

Pub Date : November 2004 
ISBN : 
0-596-00706-

Pages : 
400
 


ZhuJun 2005-12-15 19:59 发表评论
]]>SQL Server各种日期计算Ҏ[转]http://www.tkk7.com/Johncn/archive/2005/12/08/22963.htmlZhuJunZhuJunThu, 08 Dec 2005 04:40:00 GMThttp://www.tkk7.com/Johncn/archive/2005/12/08/22963.htmlhttp://www.tkk7.com/Johncn/comments/22963.htmlhttp://www.tkk7.com/Johncn/archive/2005/12/08/22963.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/22963.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/22963.html(原文)


  通常Q你需要获得当前日期和计算一些其他的日期Q例如,你的E序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分Ԍq、月、日{)Q然后仅仅用分割出来的年、月、日{放在几个函C计算己所需要的日期Q在q篇?章里Q我告诉你如何使用DATEADD和DATEDIFF函数来计出在你的程序中可能你要用到的一些不同日期?

  在用本文中的例子之前,你必L意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一Pq完全由哪一天是一个星期的W一天这个设|决定。第一天(DATEFIRSTQ设定决定了你的pȝ使用哪一天作Z周的W一天。所有以下的?子都是以星期天作Z周的W一天来建立Q也是W一天设|ؓ7。假如你的第一天设|不一P你可能需要调整这些例子,使它和不同的W一天设|相W合。你可以通过@@DATEFIRST函数来检查第一天设|?
  
  Z理解q些例子Q我们先复习一下DATEDIFF和DATEADD函数。DATEDIFF函数计算两个日期之间的小时、天、周、月、年{时间间隔L。DATEADD函数计算一个日期通过l时间间隔加减来获得一个新的日期。要了解更多的DATEDI FF和DATEADD函数以及旉间隔可以阅读微Y联机帮助?
  
  使用DATEDIFF和DATEADD函数来计日期,和本来从当前日期转换C需要的日期的考虑Ҏ有点不同。你必须从时间间隔这个方面来考虑。比如,从当前日期到你要得到的日期之间有多少旉间隔Q或者,从今天到某一天(比如1900-1-1Q之间有多少旉间隔Q等{。理解怎样着g旉间隔有助于你L的理解我的不同的日期计算例子?
  
  一个月的第一?/B>
  
  W一个例子,我将告诉你如何从当前日期去这个月的最后一天。请注意Q这个例子以及这文章中的其他例子都只使用DATEDIFF和DATEADD函数来计我们想要的日期。每一个例子都通过计算但前的时间间隔,然后q行加减来得到想要计的日期?
  
  q是计算一个月W一天的SQL 脚本Q?
  SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
  
  我们把这个语句分开来看看它是如何工作的。最核心的函数是getdate()Q大部分人都知道q个是返回当前的日期和时间的函数。下一个执行的函数DATEDIFF(mm,0,getdate())是计当前日期和?900-01-01 00:00:00.000”这个日期之间的月数。记住:时期和时间变量和毫秒一h从?900-01-01 00:00:00.000”开始计的。这是Z么你可以在DATEDIFF函数中指定第一个时间表辑ּ为?”。下一个函数是DATEADDQ增加当前日期到?900-01-01”的月数。通过增加预定义的日期?900-01-01”和当前日期的月敎ͼ我们可以获得q个月的W一天。另外,计算出来的日期的旉部分会是?0:00:00.000”?
  
  q个计算的技巧是先计当前日期到?900-01-01”的旉间隔敎ͼ然后把它加到?900-01-01”上来获得特D的日期Q这个技巧可以用来计很多不同的日期。下一个例子也是用q个技巧从当前日期来生不同的日期?BR>本周的星期一
  
  q里我是用周(wk)的时间间隔来计算哪一天是本周的星期一?
  
  SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
  
  一q的W一?/FONT>
  
  现在用年(yy)的时间间隔来昄q一q的W一天?
  
  SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
  
  季度的第一?/B>
  
  假如你要计算q个季度的第一天,q个例子告诉你该如何做?
  
  SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
  
  当天的半?/B>
  
  曄需要通过getdate()函数Zq回旉值截掉时间部分,׃考虑到当前日期是不是在半夜。假如这Pq个例子使用DATEDIFF和DATEADD函数来获得半夜的旉炏V?
  
  SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
  
  深入DATEDIFF和DATEADD函数计算
  
  你可以明白,通过使用单的DATEDIFF和DATEADD函数计算Q你可以发现很多不同的可能有意义的日期?
  
  目前为止的所有例子只是仅仅计当前的旉和?900-01-01”之间的旉间隔数量Q然后把它加到?900-01-01”的旉间隔上来计算出日期。假定你修改旉间隔的数量,或者用不同的旉间隔来调用DATEADD函数Q或者减L间间隔而不是增加,那么通过q些的调整你可以发现和多不同的日期?
  
  q里有四个例子用另外一个DATEADD函数来计最后一天来分别替换DATEADD函数前后两个旉间隔?
上个月的最后一?/FONT>
  
  q是一个计上个月最后一天的例子。它通过从一个月的最后一天这个例子上减去3毫秒来获得。有一点要CQ在Sql Server中时间是_?毫秒。这是Z么我需要减?毫秒来获得我要的日期和时间?
  
  SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
  
  计算出来的日期的旉部分包含了一个Sql Server可以记录的一天的最后时??3:59:59:997?的时间?
  
  d的最后一?/FONT>
  
  q接上面的例子,Z要得到去q的最后一天,你需要在今年的第一天上减去3毫秒?
  
  SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
  
  本月的最后一?/B>
  
  现在Qؓ了获得本月的最后一天,我需要稍微修改一下获得上个月的最后一天的语句。修攚w要给用DATEDIFF比较当前日期和?900-01-01”返回的旉间隔上加1。通过?个月Q我计算Z个月的第一天,然后减去3毫秒Q这样就计算Zq个月的最后一天。这是计本月最后一天的SQL脚本?
  
  SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
  
  本年的最后一?/B>   
  你现在应该掌握这个的做法Q这是计本q最后一天脚?
  
  SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))?
  
  本月的第一个星期一
  
  好了Q现在是最后一个例子。这里我要计这个月的第一个星期一。这是计的脚本?
  
  select DATEADD(wk, DATEDIFF(wk,0,
  dateadd(dd,6-datepart(day,getdate()),getdate())
  ), 0)
  
  在这个例子里Q我使用了“本周的星期一”的脚本Qƈ作了一点点修改。修改的部分是把原来脚本中“getdate()”部分替换成计算本月的第6天,在计中用本月的W?天来替换当前日期使得计算可以获得q个月的W一个星期一?
  
  ȝ
  
  我希望这些例子可以在你用DATEADD和DATEDIFF函数计算日期时给你一点启发。通过使用q个计算日期的时间间隔的数学ҎQ我发现Z昄两个日期之间间隔的有用历法是有h值的。注意,q只是计出q些日期的一U方法。要牢记Q还有很多方?可以得到相同的计结果。假如你有其他的ҎQ那很不错,要是你没有,我希望这些例子可以给你一些启发,当你要用DATEADD和DATEDIFF函数计算你程序可能要用到的日期时?
附录Q其他日期处理方?
  
  1)L时分U?/FONT>
  declare @ datetime
  set @ = getdate() --'2003-7-1 10:00:00'
  SELECT @,DATEADD(day, DATEDIFF(day,0,@), 0)
  
  2Q?FONT color=red>昄星期?/FONT>
  select datename(weekday,getdate())
  
  3Q如?FONT color=red>取得某个月的天数

  declare @m int
  set @m=2 --月䆾
  select datediff(day,'2003-'+cast(@m as varchar)+'-15' ,'2003-'+cast(@m+1 as varchar)+'-15')
  另外Q取得本月天?
  select datediff(day,cast(month(GetDate()) as varchar)+'-'+cast(month(GetDate()) as varchar)+'-15' ,cast(month(GetDate()) as varchar)+'-'+cast(month(GetDate())+1 as varchar)+'-15')
  或者用计本月的最后一天的脚本Q然后用DAY函数区最后一?
  SELECT Day(dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)))
  
  4Q?FONT color=red>判断是否闰年
Q?
  SELECT case day(dateadd(mm, 2, dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)))) when 28 then 'q_' else '闰年' end
  或?
  select case datediff(day,datename(year,getdate())+'-02-01',dateadd(mm,1,datename(year,getdate())+'-02-01'))
  when 28 then 'q_' else '闰年' end
  
  5Q?FONT color=red>一个季度多天

  declare @m tinyint,@time smalldatetime
  select @m=month(getdate())
  select @m=case when @m between 1 and 3 then 1
  when @m between 4 and 6 then 4
  when @m between 7 and 9 then 7
  else 10 end
  select @time=datename(year,getdate())+'-'+convert(varchar(10),@m)+'-01'
  select datediff(day,@time,dateadd(mm,3,@time))



ZhuJun 2005-12-08 12:40 发表评论
]]>
自定义Windows服务http://www.tkk7.com/Johncn/archive/2005/12/07/22838.htmlZhuJunZhuJunWed, 07 Dec 2005 03:58:00 GMThttp://www.tkk7.com/Johncn/archive/2005/12/07/22838.htmlhttp://www.tkk7.com/Johncn/comments/22838.htmlhttp://www.tkk7.com/Johncn/archive/2005/12/07/22838.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/22838.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/22838.html使用工具instsrv.exe?/SPAN>Srvany.exe可将应用E序注册?/SPAN>Windows服务.
  instsrv: q个工具是把win32E序变成pȝ服务?BR>  基本用法Q?STRONG>instsrv [服务名] [应用E序l对路径] (增加服务)
                            instsrv [服务名] REMOVE  (删除服务)
       但是q不是所有程序都适合做系l服务的Q注册成pȝ服务后就是无法启动的,q时需要用到srvany.

  srvany: q个工具是用来解决上面的工具中的问题,你注册的时候把它当作你要的服务Q在用它来启动你的应用程序?BR>  基本用法Q?/FONT>instsrv [服务名] [srvany的绝对\径]

具体步骤如下:

1.       注册服务: path\instsrv 服务?/SPAN> path\srvany.exe

2.       regedit打开注册?/SPAN>

3.       q入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务?/SPAN>

4.       右键-新徏-?/SPAN> 填入 Parameters

5.       打开ParametersQ右?/SPAN>-新徏-字符串?/SPAN> Application

6.       双击Application 填入 应用E序的绝对\?/SPAN>,?/SPAN>: D:\workspace\meip26\meip.exe

7.       右键-新徏-字符串?/SPAN>AppDirectory

8.       双击AppDirectory 填入 应用E序的工作目?/SPAN>,?/SPAN>: D:\workspace\meip26\

9.       启动服务?BR>
在Parameters里还可以d很多键|
  AppDirectory 工作目录
  AppParameters 你的应用E序的参数?BR>  AppEnvironment q行环境变量?BR>




ZhuJun 2005-12-07 11:58 发表评论
]]>
在DOS下恢复回收站中的文g[转]http://www.tkk7.com/Johncn/archive/2005/12/06/22771.htmlZhuJunZhuJunTue, 06 Dec 2005 12:49:00 GMThttp://www.tkk7.com/Johncn/archive/2005/12/06/22771.htmlhttp://www.tkk7.com/Johncn/comments/22771.htmlhttp://www.tkk7.com/Johncn/archive/2005/12/06/22771.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/22771.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/22771.html  在Windows无法启动的时候,我们如何恢复回收站中的文件呢Q如果当时删除时q不知道删除了些什么文Ӟ能否恢复pȝq行呢?回答是肯定的Q就是用l典?DOS 命o来实现?

  比如在双启动的系l里Q在Windows 98的环境下误删除了NT的系l文ӞDNT和Windows 98都无法启动?

  下面介绍一U办法可以帮你解册个问题?首先q入到DOS模式(如果WINDOWS不能正常启动的话Q用带启动文件的软盘启动)Q进入到C: RECYCLED目录Q这是一个隐藏目录,如果你要恢复的文件原来在D盘,相应的目录是D:RECYCLED。用dir/a命o可以列出一堆DC开头的隐藏文gQDC1.txt, DC2.com...Q,q些是被你已经删除了的文g?

  但是׃Windows在把文gU至回收站的时候,把文件名l改了,所以还需要找回原来的文g名。原来的文g名可以从RECYCLED目录下的INFO2 文g中找?用EDIT INFO2 )。INFO2 是一个二q制文gQ每一个被删除的文件在 INFO2 文g中有一D记录(800字节Q,其中可以扑ֈ文g名,其他的信息都不是ASCII字符Q那些ؕ码就不必它了?按找到的文g名用 COPY 命o拷到目标位置卛_Q如Q?COPY DC2.EXE C:WINDOWSCOMMANDDELTREE.EXE?

  文g名是按顺序排列的Q第一个文件名是DC1.* 文g的原来的文g名,后缀名保持不变。如果被删除的是目录的话Q在RECYCLED下就有一个叫DC????的目录,用同LҎ可以扑֛原来的目录名?

  要做好这些工作,你必M证有一张可以启动的软盘Q除有io.sys、msdos.sys ?command.com 外,最好里面有 edit.com 、attrib.exe文gQ相信懂一点DOS基础的h都知道这是拿来做什么用的。同时也敬告熟悉 Windows 95/98/ME/2000/NT的用P把常用的DOS命o也学一学,Windows用v来的舒服,但出了问题有时还得用DOSҎ来解冟?/FONT>



ZhuJun 2005-12-06 20:49 发表评论
]]>
JavaE序作成exe文g的几U方法[转]http://www.tkk7.com/Johncn/archive/2005/12/06/22769.htmlZhuJunZhuJunTue, 06 Dec 2005 12:41:00 GMThttp://www.tkk7.com/Johncn/archive/2005/12/06/22769.htmlhttp://www.tkk7.com/Johncn/comments/22769.htmlhttp://www.tkk7.com/Johncn/archive/2005/12/06/22769.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/22769.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/22769.html  
  一、exe4j

说明Qexe4j可以Jar文g制作成exe文gQ但需jre支持Q也可将Jar文g攑֜外面?BR>
软g性质Q共享Y?BR>
下蝲地址Qhttp://www.ej-technologies.com/products/exe4j/overview.html

二、JBuilder

说明Q新版本的JBuilder可以直接把工E制作成各系l的可执行文Ӟ包括Windowspȝ?BR>
软g性质Q商业Y?BR>
下蝲地址Q略。我是从eMule下蝲的?BR>
三、NativeJ

说明Q与exe4j功能cM?BR>
软g性质Q共享Y?BR>
下蝲地址Qhttp://www.dobysoft.com/products/nativej/download.html

四、Excelsior JET

说明Q可以直接将JavacL件制作成exe文gQ除AWT和Swing及第三方囑Ş接口外可不需jre支持QJava5.0不行Q?BR>
软g性质Q共享Y?BR>
下蝲地址Qhttp://excelsior-usa.com/home.html

五、jshrink

说明Q可Jar文g打包qexe文g。同时具有؜淆功能(q才是它的主要功能)?BR>
软g性质Q共享Y?BR>
下蝲地址Qhttp://www.e-t.com/jshrink.html

六、InstallAnywhere

说明Q打包工P对Java打包最好用。可打包成各操作pȝq行包。包括Windowspȝ?BR>
软g性质Q商业Y件?BR>
下蝲地址Qhttp://www.zerog.com/

七、InstallShieldX

说明Q与InstallAnywherecMQ但比InstallAnywhere功能强大。相对的Q比较复杂,不易上手Q我现在q没学会?BR>


ZhuJun 2005-12-06 20:41 发表评论
]]>
让JavaE序带着jre一起上路[转]http://www.tkk7.com/Johncn/archive/2005/12/06/22768.htmlZhuJunZhuJunTue, 06 Dec 2005 12:40:00 GMThttp://www.tkk7.com/Johncn/archive/2005/12/06/22768.htmlhttp://www.tkk7.com/Johncn/comments/22768.htmlhttp://www.tkk7.com/Johncn/archive/2005/12/06/22768.html#Feedback0http://www.tkk7.com/Johncn/comments/commentRss/22768.htmlhttp://www.tkk7.com/Johncn/services/trackbacks/22768.html  用Java开发程序,发布时总要考虑的问题就是怎么在用者的机器上装好JRE。要考虑的问题很多:使用者有没有能力独自安装JREQ用者已有的JRE和我们需要的版本是不是一_会不会出现版本问题,{等?BR>
使用.NET要考虑的问题就些。现?NET CLRg已经很普及了Q看好多D版的Win XP都会自己安装最新的.NET CLRQ而且g它的安装界面也比JRE友好些。彻底解军_装JRE的问题的ҎQ就是让我们的应用程序自p着JREQ这P我们的程序就像传l的Win32应用E序一P双击可以执行,不用所在的机器上是否有JREQ是什么版本的JREQ无论怎样Q我有我自己的!要做到这一点,其实非常Ҏ?BR>
王森在他的《Java深度历险》(强力推荐q本书,内容而精Q的W一章就解释了JDKQJREQJVM之间的关pR解释了我们执行java.exe时发生的事情。其中提刎ͼjava.exe依照一套逻辑来寻扑֏以用的JREQ首先查找自己所在的目录下有没有JREQ据王森讲这栯不确切,我没有JDK全部的源代码Q在此无从考证Q;其次查找自己的父目录下有没有JREQ最后才是查询Windows的注册表?BR>
通常我们在安装好了JRE的机器上的Q何一个目录下都可以执行java.exe。因为它在安装时被复制到了windows的system32目录下,而后者无论如何都会在path环境变量中。这个java.exe最l必然会讉K注册表来定真正的JRE的所在地。若我们要求每一个应用程序都自带JREQ必然不能走q条路。但Q逻辑的第二条Ԍjava.exe会在它的父目录下查找JREQ解x案就在这一条中?BR>
假设我们的应用程序打好了包,叫做MyApp.jarQ放在MyApp的目录下。我们在MyApp目录下,可以执行java –jar MyApp.jar来运行我们的E序。我们安装的是JRE 1.5Q在C:\Program Files\Java\jre1.5.0下。现在,我们只需要简单的jre1.5.0目录搬到MyApp目录下,Z改个Ҏ写的名字比如叫jre。现在,我们的应用程序就象这P

MyApp
MyApp.jar
Jre
Jre1.5.0目录下的全部内容

Java.exe在jre目录下的bin目录中。根据第二条逻辑Qjava.exe会在它的父目录中查找jreQ实验证实,它会查找lib目录Q而lib在jre目录下。因此,q样java.exe׃定jre的所在然后正常执行javaE序Q不会去我们是否安装了JREQ注册表中是否有注册这些杂事了?BR>
试一下,在命令行下进入MyApp的目录下Q假讑֮在C盘,path指向MyApp下的JREQ?BR>set path=c:\MyApp\jre\bin

然后q行Q?BR>java –verbose –jar MyApp.jar

加上verbose参数以确定我们确实用了这一套被搬出了家的JRE?BR>
E序可以q行Qƈ且在命o行输出的前几行,可以看到Q?BR>
[Opened C:\MyApp\jre\lib\rt.jar]
[Opened C:\MyApp\jre\lib\jsse.jar]
[Opened C:\MyApp\jre\lib\jce.jar]
[Opened C:\MyApp\jre\lib\charsets.jar]

因此E序d的确实是它的U有的JRE?BR>
xQ我们似乎完成了d。但是现在我们的U有JRE仍不完美Q缺Ҏ太大。JRE 1.5有接q?0MBQ作为我们的U有的JREQ好多内定w是可以抛弃的。Jre目录下的license都可以不要,bin下的执行文g只需要保留java.exe或者javaw.exeQlib下只要保留rtQjsseQjceQcharsets几个库就可以了。除了i386和zi两个子目录外Q其余的子目录都可以不要。Zi下只需要保留自己地区的子目录和其下的一些文件就可以。Lib下除了库之外的属性文件等{都要保留。这h理一番,JRE仍然有接q?0MB。还可以l箋清理几个库文仉面不需要的内容Q这需要仔l的整理Q会很费功夫。最好能写出一个自动工具帮助我们整理它们。从Sun公司上下到的JMF里面附带的用Java写的媒体播放器就自带了JREQ只有几个MB?BR>
清理q后需要运行几遍我们的应用E序Q以保我们的JRE不缺东ѝ?BR>
如果我们希望能有一个程序直接启动我们的应用E序Q那p要费些功夫。最单的Ҏ是弄Z个快h式来Q但是快h式的路径不能是相对的Q不方便我们安装。我惛_的方案就是用Win32E序包装一下。在VS.NET下写一个Win32程序:

int PASCAL WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpszCmdLine,
int nCmdShow ){  STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
// Start the child process.
if( !CreateProcess( "jre\\bin\\javaw.exe",//执行的程序名
"jre\\bin\\javaw.exe -jar MyApp.jar", // 带参数的执行E序
NULL,
// Process handle not inheritable.
NULL,
// Thread handle not inheritable.
FALSE,
// Set handle inheritance to FALSE.
0,
// No creation flags.
NULL,
// Use parent's environment block.
NULL,
// Use parent's starting directory.
&si,
// Pointer to STARTUPINFO structure.
&pi )
// Pointer to PROCESS_INFORMATION structure.  )
{      ErrorExit( "CreateProcess failed." );
}   // Wait until child process exits.  WaitForSingleObject( pi.hProcess, INFINITE );
// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );}

基本上是按照MSDN文中的例子照搬的。将它编译成一个EXE文gQ我们的d才全部完成。双击这个EXE文gQ我们的E序启动了,看v来和传统的Win32E序没有两样QJRE完全被隐藏在底层?BR>
P.S. 使用了这个方案后Q我用Wise Installation System制作安装E序Q发C个非常奇怪的问题Q安装结束后Q安装程序似乎非要运行一个叫做GLJ什么什么,后缀是TMP的程序,q需要JVMQ结果就报错JVM.DLL找不到。安装L不成功。我已经掉了OCX / DLL / EXE自注册和卸蝲支持Qؓ什么还不对Q有谁知道是Z么吗Q?


ZhuJun 2005-12-06 20:40 发表评论
]]>
վ֩ģ壺 㽶߹ۿ| ѵӰ| ˳վ߲ӰԺ| þþƷAVδʮ| Ļ벻Ƶ| ޳ҹӰ| ȫaëƬ**Ƶ| 뾫Ʒ| վ߹ۿ| һԻƬ| ޺ݺۺϾþþþ| þҹҹ³³Ƭ| 91vavava | aëƬ100ѹۿ| ޹Ʒþþѿ | ͼƬһ| ۺһʵ| ޹avһ| ɫҹƵѲ| ޹ղ뾫Ʒ| ޾Ʒ| ߲| ޾Ʒ߳ˮAƬ| Ļһ| 4399Ӱѹۿֱ| ۺϳַ| ݺۺɫ| AVH߹ۿ | ŷһ| www߹ۿ| ĻĻɫ| һ߹ۿ| þþþ޾Ʒþþþþþ | þһ| Ʒɫͼ| ޸߹ۿ| ѶëƬƵ| hƵѿ| 99ѾƷƵ| aëƬëƬѹۿó| ʮ˽߹ۿƵ|