<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>子非鱼</title>
    <description>我今天所做的一切，都是为了明天那一份自然而然的成绩。</description>
    <link>http://zhangcheng.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>修改maven的本地repository的默认路径</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/218717" style="color:red;">http://zhangcheng.javaeye.com/blog/218717</a>&nbsp;
          发表时间: 2008年07月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          修改${M2_HOME}/conf目录下面setttings.xml文件。使用编辑器打开，找到localRepository一项，将它的值修改就可以了，我修改的是：${M2_HOME}/repo。
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/218717#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 23 Jul 2008 21:06:32 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/218717</link>
        <guid>http://zhangcheng.javaeye.com/blog/218717</guid>
      </item>
      <item>
        <title>何时使用规则引擎？</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/218157" style="color:red;">http://zhangcheng.javaeye.com/blog/218157</a>&nbsp;
          发表时间: 2008年07月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          并非所有应用程序都应使用规则引擎。如果业务逻辑代码包括很多 if-else 语句，则应考虑使用一个规则引擎。维护复杂的 Boolean 逻辑可能是非常困难的任务，而规则引擎可以帮助您组织该逻辑。当您可以使用声明方法而非命令编程语言表达逻辑时，变化引入错误的可能性会大大降低。<br /><br />如果代码变化可能导致大量的财政损失，则也应考虑规则引擎。许多组织在将已编译代码部署到托管环境中时具有严格的规则。例如，如果需要修改 Java 类中的逻辑，在更改进入生产环境之前，将会经历一个冗长乏味的过程：<br /><ol><li>必须重新编译应用程序代码。</li><li>在测试中转环境中删除代码。</li><li>由数据质量审核员检查代码。 </li><li>由托管环境架构师批准更改。 </li><li>计划代码部署。</li></ol><br />即使对一行代码的简单更改也可能花费组织的几千美元。如果需要遵循这些严格规则并且发现您频繁更改业务逻辑代码，则非常有必要考虑使用规则引擎。<br /><br />对客户的了解也是该决策的一个因素。尽管您使用的是一个简单的需求集合，只需 Java 代码中的简单实现，但是您可能从上一个项目得知，您的客户具有在开发周期期间甚至部署之后添加和更改业务逻辑需求的倾向（以及财政和政治资源）。如果从一开始就选择使用规则引擎，您可能会过得舒服一些。
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/218157#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 22 Jul 2008 15:51:16 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/218157</link>
        <guid>http://zhangcheng.javaeye.com/blog/218157</guid>
      </item>
      <item>
        <title>使用JBoss Drools实现Hanoi Tower程序</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/217697" style="color:red;">http://zhangcheng.javaeye.com/blog/217697</a>&nbsp;
          发表时间: 2008年07月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近在学习规则推理引擎，主要是在看JBoss Drools，有了一点点入门，自己写个例子练习一下，同时也和初学的同学们分享交流。<br />规则定义的代码如下：Hanoi.drl<br /><pre name="code" class="java">
package com.sample.hanoi

/*

	

*/
#list any import classes here.


#declare any global variables here

rule "apply for the n=1"
	when
		#conditions
		h : Hanoi( sequence == 1 )
	then 
		#actions
		System.out.println( h.getOne() + " -> " + h.getThree() );
		
end


rule "apply for the n>1."
	#include attributes such as "salience" here...
	when
		#conditions
		h : Hanoi( sequence > 1 )
	then 
		#actions
		insert( new Hanoi( h.getSequence() - 1,h.getTwo(),h.getOne(),h.getThree() ) );
		insert( new Hanoi( 1, h.getOne(), h.getTwo(), h.getThree()) );
		insert( new Hanoi( h.getSequence() - 1,h.getOne(),h.getThree(),h.getTwo() ) );
		
end
</pre><br /><br />以上是Hanoi算法的规则表示，是比较简单的，主要注意两个问题：<br />首先，我采用的是Drools官方示例中的Fibonacci的例子的解决办法，引入了一个sequence的变量，这个变量是来记录有多少层塔的。<br />其次，大家在看代码的时候，可能注意到了，在"apply for the n>1."规则的后件中的顺序与我们平常写得Hanoi程序正好相反，这是为什么呢？原来这是Drools冲突解决策略的一种方案。<br />Drools的冲突解决的方案主要两种：<br />第一种：Salience，即优先级策略。用户可以为某个 rule 指定一个高一点的优先级（通过附给它一个比较大的数字）。高 Salience 的 rule 将会被优先激发。<br />第二种：LIFO，当规则的salience相同，又出现执行顺序冲突时，按照LIFO（后进先出）策略<br />我这里是利用了第二种策略，所以顺序正好相反。<br />下面是Hanoi的Bean类和程序的主类：<br /><pre name="code" class="java">
public class Hanoi {

	private String one;
	private String two;
	private String three;
	
	private int sequence;

	public Hanoi() {
		super();
	}

	public Hanoi(int sequence) {
		super();
		this.sequence = sequence;
	}
	
	

	public Hanoi(int sequence, String one, String two, String three ) {
		super();
		this.one = one;
		this.two = two;
		this.three = three;
		this.sequence = sequence;
	}

	/**
	 * @return the sequence
	 */
	public int getSequence() {
		return sequence;
	}

	/**
	 * @param sequence the sequence to set
	 */
	public void setSequence(int sequence) {
		this.sequence = sequence;
	}

	/**
	 * @return the one
	 */
	public String getOne() {
		return one;
	}

	/**
	 * @param one the one to set
	 */
	public void setOne(String one) {
		this.one = one;
	}

	/**
	 * @return the two
	 */
	public String getTwo() {
		return two;
	}

	/**
	 * @param two the two to set
	 */
	public void setTwo(String two) {
		this.two = two;
	}

	/**
	 * @return the three
	 */
	public String getThree() {
		return three;
	}

	/**
	 * @param three the three to set
	 */
	public void setThree(String three) {
		this.three = three;
	}
	
	
}

public class HanoiExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception  {
		final PackageBuilder builder = new PackageBuilder();
        builder.addPackageFromDrl( new InputStreamReader( FibonacciExample.class.getResourceAsStream( "/Hanoi.drl" ) ) );

        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
        ruleBase.addPackage( builder.getPackage() );

        final StatefulSession session = ruleBase.newStatefulSession();
        
        session.insert( new Hanoi( 4, "A", "B", "C" ) );

        session.fireAllRules();

        session.dispose(); // Stateful rule session must always be disposed when finished
	}
</pre><br /><br />这是我自己尝试的第一个例子，在写规则的时候，我觉还是有很多问题的，最主要的就是：如何更好的里利用drools提供的功能，写出精炼的规则？还有很多的隐藏的规则如何发现？这些都是需要多多经验的，希望能够和大家讨论，共同进步。
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/217697#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 22 Jul 2008 11:17:33 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/217697</link>
        <guid>http://zhangcheng.javaeye.com/blog/217697</guid>
      </item>
      <item>
        <title>在RCP中使用Groovy的路径问题</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/194029" style="color:red;">http://zhangcheng.javaeye.com/blog/194029</a>&nbsp;
          发表时间: 2008年05月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Groovy是在JVM之上的一种动态脚本语言，在使用Java开发程序的过程中，我们是可以将一些功能用Groovy来实现，这样可以减少很多的代码量。<br /><br />最近在开发一个RCP程序，我尝试了一下把Groovy集成进来。大家都知道，在开发RCP程序的时候，有的时候路径问题真的令人头疼，比如我边的一篇文站里面所说的：db4o与RCP的集成问题，主要也是路径。<br /><br />在集成Groovy的过程中，首先需要导入groovy的jar包，然后我在src目录下新建一个package，来放.groovy的源文件，之后我们就可以在这个包下面写groovy了。这些都是很简单的，主要是我在java程序中如何执行groovy呢？grovvy提供了很好的方法，比如GroovyShell和GroovyScriptEngine等等。我使用的是GroovyShell，使用GroovyShell的话，就要考虑到路径问题，怎么能够找到groovy的源文件，我试了几个方法，都没有成功（不能使用绝对路径）。在网上搜了一下，找到如下方法，可以很好的解决：<br /><pre name="code" class="java">
InputStream is =  this.getClass().getClassLoader().getResourceAsStream("/A/B/groovy/script.groovy");
</pre><br />其中，A,B代表了在src目录下的A.B.groovy包，script是源文件的名字。
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/194029#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 18 May 2008 09:44:37 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/194029</link>
        <guid>http://zhangcheng.javaeye.com/blog/194029</guid>
      </item>
      <item>
        <title>在jsp中使用applet时的路径问题</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/184626" style="color:red;">http://zhangcheng.javaeye.com/blog/184626</a>&nbsp;
          发表时间: 2008年04月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          记得以前写过可以在网页上照相的系统，照相的那部分就是用applet实现，那个时候就遇到了有关applet的class文件的路径问题，总是说找不到applet的类文件；不过后来解决的了，今天有一个同学问我有关路径的事，我想起以前做过，不过没有总结，现在总结一下，为自己以后提高，或者给初学者点建议。<br /><br />我们一般在src中的的源文件编译完之后，默认就会出现在WEB-INF下的class目录中的，如果我们把applet的class文件放到这里，总是会报出找不到class文件的。这个是什么原因呢，网上面说，主要是WEB-INF是不能被直接访问的，只能重定向过去。所以，我们要创建一个新的文件夹来放置applet的class文件，我们新建一个plugin目录，这个是plugin目录是和WEB-INF并行的，都在WebRoot下面。之后把applet的class放到plugin目录下边，<br />在jsp文件里面这样写：<br /><pre name="code" class="java">

&lt;jsp:plugin     type="applet"   code="applettest.class"   codebase="plugin/"   
                            width=   "640"   
                            height=   "260" >   
    
  &lt;/jsp:plugin>   
</pre><br />运行就可以啦。<br /><br />有的同学会问，如果我的applettest是放在test包里面的怎么办？这个是一样的，你就在plugin下面新建test目录，之后把applet的class放到test目录下边。<br />此时的jsp：<br /><pre name="code" class="java">

&lt;jsp:plugin     type="applet"   code="test.applettest.class"   codebase="plugin/"   
                            width=   "640"   
                            height=   "260" >   
    
  &lt;/jsp:plugin>   
</pre><br /><br /> 希望对大家能有帮助。
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/184626#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 20 Apr 2008 20:04:08 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/184626</link>
        <guid>http://zhangcheng.javaeye.com/blog/184626</guid>
      </item>
      <item>
        <title>FileFilter的使用</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/184460" style="color:red;">http://zhangcheng.javaeye.com/blog/184460</a>&nbsp;
          发表时间: 2008年04月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          这几天在做项目的过程中，遇到一个这样的需求：要求列出某个目录下面的具有特殊后缀名（比如.java）的所有文件。<br />刚开始的时候，还是真的没有什么好的想法，自然我就想到看看java本身有没有提供这样的方法，在看jdk文档的时候就看到这样的一个接口：FileFilter，通过看文档和网上的资料，发现上边的需求可以用这个接口来实现，比如说，我们要列出c盘下面的所有的java源文件，我们应该怎么实现呢：<br />首先，我们得到一个FileFilter:<br /><pre name="code" class="java">
private FileFilter fileFilter = new FileFilter() {
		
		public boolean accept(File file) {
			String tmp = file.getName().toLowerCase();
			if (tmp.endsWith(".java")) {
				return true;
			}
			return false;
		}
	};
</pre><br />然后在代码中写下<br /><pre name="code" class="java">
File root=new File("c:\\");
File[] files=root.listFiles(fileFilter);
</pre><br />这样就可以了。<br /><br />这个并没有多少的技术含量，不过可以给初学者一个帮助。<br /><br />写完了之后，我们反思一下，这个接口还可以做些什么工作呢？还可以给我们带来什么好处呢？我想是不是可以在搜索的时候有一些作用。<br /><br />大家有什么想法可以告诉我。
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/184460#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 19 Apr 2008 21:02:45 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/184460</link>
        <guid>http://zhangcheng.javaeye.com/blog/184460</guid>
      </item>
      <item>
        <title>apache commons中处理时间的工具</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/170661" style="color:red;">http://zhangcheng.javaeye.com/blog/170661</a>&nbsp;
          发表时间: 2008年03月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在平时写程序的时候，经常会遇到有关日期处理的问题，比如日期的加法等等，这些问题使用java自带的那两个类是不好的解决的。例如我在项目中有如下的需求：<br /><ol><li>可以很方便的处理各种格式的日期</li><br /><li>可对一个日期加上任意天，任意个月，任意个年</li></ol><br />如上的需求用java本身提供的包，解决起来不是很方便，可是如果我们用Apache Commons组件，那就方便多了。<br />Apache Commons组件有关日期的处理主要有五个类，<br /><ol><li>DateFormatUtils </li><li>DateUtils </li><li>DurationFormatUtils </li><li>FastDateFormat </li><li>StopWatch</li></ol><br /><br />这几个类用法很简单，我就不多嘴了（其实我用的也不多），但，确实是很实用的。
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/170661#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 12 Mar 2008 22:41:24 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/170661</link>
        <guid>http://zhangcheng.javaeye.com/blog/170661</guid>
      </item>
      <item>
        <title>在RCP中集成DB4O遇到的问题</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/170122" style="color:red;">http://zhangcheng.javaeye.com/blog/170122</a>&nbsp;
          发表时间: 2008年03月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在最近的一个RCP项目中，需要使用到DB4O,但是我却遇到了一个很奇怪的问题。<br />问题如下：<br />我把数据库的文件context.yap放在项目目录下边，显示自己谢了个带有main方法的测试类，测试时候很顺利，无论是存数据还是写数据都能够正常进行。但是当RCP程序启动的时候，无论如何也读不出数据，也没有任何异常。<br />问题分析：<br />经过我的调试，我发现运行RCP的时候是执行了正确的操作的，就是context.yap么有数据，但是我在测试的时候明明有数据的啊？我此时已怀疑是RCP的路径的问题，但是试了各种方法，也没有读出数据。也不是找不到数据库文件，找到了，但是为空！<br />问题解决;<br />最后，我查找了DB4O的文档，终于找到问题在那里了。DB4O在执行下面这句的时候：<br /><pre name="code" class="java">
ObjectContainer db = Db4o.openFile("context.yap");
</pre><br />如果，如果DB4O找不到数据库的文件，就会自己新建一个，而在RCP的环境下，新建的数据库文件就在Eclipse的安装目录下，新建的为空，当然取不出任何数据了。<br /><br />问题已经解决，希望能对大家有所帮助。而且有不正确的地方希望大家指正！
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/170122#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 11 Mar 2008 12:21:59 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/170122</link>
        <guid>http://zhangcheng.javaeye.com/blog/170122</guid>
      </item>
      <item>
        <title>使用Eclipse自带的PropertySheet</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/168729" style="color:red;">http://zhangcheng.javaeye.com/blog/168729</a>&nbsp;
          发表时间: 2008年03月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近在做一些GEF相关的项目，在项目中遇到一些小问题，现在记录下来，备忘，也能帮助初学者。<br />     在自己的RCP应用中使用PropertySheet大概有两种方法，我现在只介绍一种方法。这种方法我觉得要简单一点。<br />     首先，自己定义的model要继承org.eclipse.ui.views.properties.IPropertySource接口，这个接口中有几个方法要实现：<br />     第一个：<br /><pre name="code" class="java">
        @Override
	public Object getEditableValue() {
		//返回模型自身作为可编辑的属性
		return this;
	}
</pre><br />       这个方法如代码中所示，返回model自身就可以了。<br />       第二个：<br /><pre name="code" class="java">
@Override
  	public IPropertyDescriptor[] getPropertyDescriptors() {

		IPropertyDescriptor[] descriptors = new IPropertyDescriptor[] { 
				new TextPropertyDescriptor(P_TEXT, "Name"),
				new ComboBoxPropertyDescriptor(P_TYPE, "Type", new String[] { "True"，"False"}),
				
		};
		return descriptors;

	}
</pre><br />        这个方法返回一个IPropertyDescriptor数组，它包括了在属性视图中要显示的项。<br />        第三个：<br /><pre name="code" class="java">
@Override
	public Object getPropertyValue(Object id) {
		if(id.equals(P_TEXT)) {
			
			return this.getName();
			
		} else if(id.equals(P_TYPE)) {
			
			return this.getType().equals("Real") ? new Integer(0) : new Integer(1);
	
		} 
		return null;
	}
</pre><br />       在实现这个方法的时候要注意，在上面那个方法中的：<pre name="code" class="java">new ComboBoxPropertyDescriptor(P_TYPE, "Type", new String[] { "True"，"False"}),</pre>所对应的在这个方法中的返回值是Integer的，而不是String，这一点一定要注意，要不然显示出来的属性视图是无法编辑的。<br />        第四个：<br /><pre name="code" class="java">
       @Override
	public boolean isPropertySet(Object id) {
		return true;
	}
</pre><br />         这个方法返回true就可以了。<br />         最后一个要我么实现的方法：<br /><pre name="code" class="java">
@Override
	public void setPropertyValue(Object id, Object value) {
		
		if(id.equals(P_TEXT)) {
			
			this.setName(value.toString());
			
		} else if(id.equals(P_TYPE)) {
			
			this.setType(((Integer)value).equals(new Integer(0)) ? "Real" : "Integer");
			
		}
		
	}
</pre><br />          这个方法中也要注意第三个方法中说道的问题，这时参数实际上对Type而言是Integer类型的，而不是String处理的时候要做以一下转换。<br />         然后，就在Perspective中加入PropertySheet视图就可以了。PropertySheet的ID为：org.eclipse.ui.views.PropertySheet。<br />         希望对初学者能有帮助，不妥的地方还请大家指出，偶也初学。
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/168729#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 06 Mar 2008 12:44:46 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/168729</link>
        <guid>http://zhangcheng.javaeye.com/blog/168729</guid>
      </item>
      <item>
        <title>Java获得当前系统的日期（XXXX-XX-XX）</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/166350" style="color:red;">http://zhangcheng.javaeye.com/blog/166350</a>&nbsp;
          发表时间: 2008年03月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在项目中经常会遇到这样的需要，获取当前系统的日期，当然还有很多的办法，我的方法如下：<br /><pre name="code" class="java">Date currentDate = new Date(System.currentTimeMillis())</pre><br />这个代码返回的是型如这样的：2008-03-01.
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/166350#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 01 Mar 2008 11:12:24 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/166350</link>
        <guid>http://zhangcheng.javaeye.com/blog/166350</guid>
      </item>
      <item>
        <title> XFire初学的一些小心得</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/166033" style="color:red;">http://zhangcheng.javaeye.com/blog/166033</a>&nbsp;
          发表时间: 2008年02月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近由于项目的需要，学习了XFire。觉得XFire的开发真的很简单方便，但是其中也遇到了不少的问题，列于下：<br />    1. 遇到了这样的异常<br /><pre name="code" class="java">java.lang.SecurityException: class "org.springframework.core.AttributeAccessorSupport"'s signer information does not match signer information of other classes in the same package </pre><br />    以后初学的同学们可以记住:这样的异常一由于你的XFire中的包与其他的包有冲突了。比如，你的除了导入XFire的包之外，还使用了dom4j这两个包中的jaxen就有冲突的。<br />     2. 当从wsdl生成client验证的时候，出现这样的错误： <br /><div class="quote_title">引用</div><div class="quote_div">Error resolving component 'ns1:ArrayOfColumnBean'. It was deteced that 'ns1:ArrayOfColmnBean' is in namespace 'http://.... ',but components from this namespace are not referenceable from schema document.</div><br />     这个异常是不会影响client code的生成的，这个的意思是说你自己定义的URL不符合schema的要求。<br />      以上是两个在我开发中遇到的问题，并不是什么难题，但是，貌似对于我这样的初学者来说，很难找到解决的方法。<br />      希望能对后来初学的朋友们有帮助。
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/166033#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 29 Feb 2008 10:07:18 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/166033</link>
        <guid>http://zhangcheng.javaeye.com/blog/166033</guid>
      </item>
      <item>
        <title>Groovy学习--GroovyBeans</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/145200" style="color:red;">http://zhangcheng.javaeye.com/blog/145200</a>&nbsp;
          发表时间: 2007年11月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp; JavaBeans 是暴露属性的普通的Java类。什么是属性呢？这个不是很好解释的，因为它本身不是一个单独存在的实体。它是一个来自命名规定的概念。如果一个类实用如下的模式展示它的方法：setNamee(name)和getName(),那么这就是告诉我们name是类的一个属性。这些get-和set-方法被称为存取（accessor）方法.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; GroovyBean就是在Groovy中定义的JavaBean。在Groovy中，与beans一起工作要比在Java中简单多了。Groovy通过三种途径来简化Beans的使用：</p>
<ul>
    <li>生成存取方法 </li>
    <li>能够方便的访问所有的JavaBeans </li>
    <li>简化事件处理器的注册 </li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/145200#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 30 Nov 2007 21:34:31 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/145200</link>
        <guid>http://zhangcheng.javaeye.com/blog/145200</guid>
      </item>
      <item>
        <title>由校园招聘想到的</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/143914" style="color:red;">http://zhangcheng.javaeye.com/blog/143914</a>&nbsp;
          发表时间: 2007年11月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          尽管说我不是找工作一族的，但是，我还是发现了一些问题啊：来我们学校招聘的公司大多数的都是招聘使用C,C++的（例如，巨人，华为，衡生，百度....很多），很少有招Java的（几乎没有例子，有的话我也不想启齿），偶尔有几个招Java的,几乎都是做对日软件外包的。<br />      我对这种现象真的是很困惑的阿，难道Java真的只能做外包了么？当然不是了！我觉得真正的大型的 企业级的应用还是Java（J2EE）占有主导地位的吧！<br />      我们的同学并不是不喜欢C.C++，但是，我们学院主导的是Java阿，然我们放弃自己擅长的，而去使用不擅长的，我们怎么能够找到理想的工作呢？命运悲惨阿！<br />      前几天同学感慨：“我们小学时，人家大学免费；我们大学时，人家小学免费！”<br />     哎~~~，生不逢时？
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/143914#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 27 Nov 2007 10:43:41 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/143914</link>
        <guid>http://zhangcheng.javaeye.com/blog/143914</guid>
      </item>
      <item>
        <title>Rich Ajax Platform</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/143909" style="color:red;">http://zhangcheng.javaeye.com/blog/143909</a>&nbsp;
          发表时间: 2007年11月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp; 前一段时间在CSDN的Blog上自己写过一篇文章，不知道怎么没有了？就在写一写喽！</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; Rich Ajax Platform是由Eclipse基金会在Eclipse 3引入的，据Eclipse基金会称，Eclipse Rich Ajax Platform项目旨在建立软件框架，向开发人员提供编写Ajax组件的相兼容的模式。基于现有的Eclipse Rich Client Platform，能够开发基于Web、台式机、服务器的软件。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 我个人很喜欢Eclipse RCP开发，但是在Ajax如火如荼的来势之下，我不能不为其所动，但是...（不好意思了：我不会JavaScript,真的一点都不会），所以对Ajax有点&ldquo;只可远观，不可亵玩焉&rdquo;的感觉。但是，RAP给我带来的希望，说真的， RAP刚出来的时候，我真得很激动阿，一方面由于我本身就会Eclipse RCP，另一方面，我不用学那个基于对象的 JavaScript了<img src="/javascripts/fckeditor/editor/images/smiley/msn/regular_smile.gif" alt="" />！</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; Eclispe RCP在国外挺不错的，但是在国内好像不是很流行阿，但我好像觉得越来越多的人开始使用Eclipse RCP了。自己的技术不够啊，也不知道RAP会不会流行起来，呵呵，但是我感觉的会的。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 总之，我这只苯鸟（好像没有先飞阿）希望能和大家一起学习！</p>
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/143909#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 27 Nov 2007 10:30:42 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/143909</link>
        <guid>http://zhangcheng.javaeye.com/blog/143909</guid>
      </item>
      <item>
        <title>初学SOA的苦恼</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/143847" style="color:red;">http://zhangcheng.javaeye.com/blog/143847</a>&nbsp;
          发表时间: 2007年11月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          刚刚开始学习SOA，觉得SOA很大，无从下手，不知道怎么开始？不知道该用什么工具？请各位指点，写一些入门的文章，详细介绍的！谢谢！
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/143847#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 26 Nov 2007 23:00:48 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/143847</link>
        <guid>http://zhangcheng.javaeye.com/blog/143847</guid>
      </item>
      <item>
        <title>学习Groovy--Groovy与Java的语法比较</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/143579" style="color:red;">http://zhangcheng.javaeye.com/blog/143579</a>&nbsp;
          发表时间: 2007年11月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp; <font face="Times New Roman">以前，山风小子前辈（不知道这样写山风小子高不高兴）写过了Groovy与Java之间的比较了，但是，算作充实博客也好，翻译书也好，我还是要写。</font></p>
<p><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 大多数的情况下，我们看到的Groovy代码与Java很相似，但是这不是说有的情况。这个有时候会误导有些人产生错误的观念：认为Groovy的语法是Java语法的子集。尽管有很多的相似性，没有哪一种语言是另一种语言的子集的。例如，Groovy不支持java里面的for(init;test;inc)循环（似乎，新版本可以了），就像在下文你会看到的，在语言的语义层面也会存在细小的不同的。</font></p>
<p><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 除了这些细小的不同，绝大多数是相同的：</font></p>
<ul>
    <li><font face="Times New Roman">&nbsp;一般的包的命名机制</font> </li>
    <li><font face="Times New Roman">声明（包括package声明和import声明）</font> </li>
    <li><font face="Times New Roman">&nbsp;类和方法的定义（当然，这要排除内部类）</font> </li>
    <li><font face="Times New Roman">控制结构（貌似要排除经典的for循环）</font> </li>
    <li><font face="Times New Roman">操作符，表达式以及赋值</font> </li>
    <li><font face="Times New Roman">异常的处理</font> </li>
    <li><font face="Times New Roman">对象的实例化，应用和消除引用，以及调用方法</font> </li>
</ul>
<p><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp; 一下使相对于Java，Groovy新加入的语法：</font></p>
<ul>
    <li><font face="Times New Roman">通过new表达式和操作符使得访问java的对象更容易</font> </li>
    <li><font face="Times New Roman">允许多种多样的声明对象的方式</font> </li>
    <li><font face="Times New Roman">提供了新的控制结构，允许高级的娄成控制</font> </li>
    <li><font face="Times New Roman">引入了新的数据类型</font> </li>
    <li><font face="Times New Roman">最重要的一点，在Groovy中，一切都是对象（Java中就不是了，Java中有数值类型）</font> </li>
</ul>
<p><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp; 总而言之，Groovy是很像Java的，毕竟Groovy是Java 的王储嘛，作为王储的Groovy，不仅仅要继承Java的优点，还要有自己的特别之处，这些特别之处会不会使Groovy继承王国，并管理好王国，我们很期待阿！</font></p>
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/143579#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 26 Nov 2007 12:03:33 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/143579</link>
        <guid>http://zhangcheng.javaeye.com/blog/143579</guid>
      </item>
      <item>
        <title>学习Groovy--开始</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/143403" style="color:red;">http://zhangcheng.javaeye.com/blog/143403</a>&nbsp;
          发表时间: 2007年11月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这几天看了不少有关Groovy的文章，大概已经有了认识，终于忍不住开始学习，于是下载了《Groocy in Action》,让我开始享受学习的快乐吧！&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/143403#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 25 Nov 2007 10:17:39 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/143403</link>
        <guid>http://zhangcheng.javaeye.com/blog/143403</guid>
      </item>
      <item>
        <title>Hibernate与MySQL的中文问题</title>
        <author>zhangcheng</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhangcheng.javaeye.com">zhangcheng</a>&nbsp;
          链接：<a href="http://zhangcheng.javaeye.com/blog/58840" style="color:red;">http://zhangcheng.javaeye.com/blog/58840</a>&nbsp;
          发表时间: 2007年03月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &nbsp;
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN">这几天在学习</span><span style="mso-font-kerning: 0pt; mso-ansi-language: ZH-CN">Hibernate</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN">，数据库用的是</span><span style="mso-font-kerning: 0pt; mso-ansi-language: ZH-CN">MySQL</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN">，在学习的过程中，遇到了中文显示的问题，于是在网上找了好多资料！最终搞定，于是写出来初学者一起分享！</span><span style="mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">我觉得要考虑hibernate和mysql的中文显示问题应该从以下几个方面考虑：<o:p></o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">（1）Hibernate所才用的字符集<o:p></o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">（2）MySql所采用的字符集（应该是这个软件的字符集，我不知道这样说合不合适，暂且这样说！）<o:p></o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">（3）创见数据库和表时 所采用的字符集<o:p></o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">针对以上的问题，我用以下的办法解决：<o:p></o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">对于Hibernate而言，不知道大家是否记得，我们使用JDBC时，可以有这样的语句：<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">connection =DriverManager.getConnection( &quot;jdbc:mysql://localhost/test?user=root&amp;password=&amp;useUnicode=true&amp;characterEncoding=GBK&quot; );<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">在Hibernate也可以有这样的设置，这就需要在Hibernate.cfg.xml文件中进行配置：<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><!--l version='1.0' encoding='UTF-8--><o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><!--CTYPE hibernate-configuration PUBLIC<o--></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">&quot;-//Hibernate/Hibernate Configuration DTD 3.0//EN&quot;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">&quot;http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd&quot;&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><!-- Generated by MyEclipse Hibernate Tools.<span style="mso-spacerun: yes">                   </span>--><o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><hibernate-configuration></hibernate-configuration><o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><session-factory></session-factory><o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">
<property name="connection.username">root</property>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">
<property name="connection.url">jdbc:mysql://localhost:3306/gcwebt?useUnicode=true&amp;characterEncoding=UTF-8</property>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">
<property name="myeclipse.connection.profile">gcweb</property>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">
<property name="connection.password">19850520</property>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">
<property name="show_sql">true</property>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><mapping resource="hibernate.cfg.xml"></mapping><o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><mapping resource="edu/jlu/gcweb/model/User.hbm.xml"></mapping><o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">在以上配置的的第二个属性我添加了：?useUnicode=true&amp;characterEncoding=UTF-8<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">这样，Hibernate处理完毕。<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">下面，对于MySql数据库本身而言，在安装完之后，他默认的字符集是：latin1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">为了中文显示，我要将它变为utf8，就是我用UltraEdit打开 MySQL安装目录下的my.ini文件找到如下内容：<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">[client]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">port=3306<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">[mysql]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">default-character-set=latin1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># SERVER SECTION<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># ----------------------------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># The following options will be read by the MySQL Server. Make sure that<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># you have installed the server correctly (see above) so it reads this<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># file.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">#<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">[mysqld]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># The TCP/IP Port the MySQL Server will listen on<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">port=3306<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">#Path to installation directory. All paths are usually resolved relative to this.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">basedir=&quot;C:/Program Files/MySQL/MySQL Server 5.0/&quot;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">#Path to the database root<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">datadir=&quot;C:/Program Files/MySQL/MySQL Server 5.0/Data/&quot;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># The default character set that will be used when a new schema or table is<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># created and no character set is defined<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">default-character-set=latin1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">我将上文中的latin1改为utf8: 如下：<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">[client]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">port=3306<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">[mysql]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">default-character-set=utf8<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># SERVER SECTION<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># ----------------------------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">#<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># The following options will be read by the MySQL Server. Make sure that<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># you have installed the server correctly (see above) so it reads this<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># file.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">#<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">[mysqld]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># The TCP/IP Port the MySQL Server will listen on<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">port=3306<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">#Path to installation directory. All paths are usually resolved relative to this.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">basedir=&quot;C:/Program Files/MySQL/MySQL Server 5.0/&quot;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">#Path to the database root<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">datadir=&quot;C:/Program Files/MySQL/MySQL Server 5.0/Data/&quot;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># The default character set that will be used when a new schema or table is<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"># created and no character set is defined<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">default-character-set=utf8<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">这样，剩下的数据库和表的问题就好办了，一下是创建数据库和表的语句：<o:p></o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">create database xxx character set utf8<o:p></o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">create table xxx character set utf8<o:p></o:p></span></p>
<p class="MsoNormal"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">或者：<o:p></o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">create table XXX DEFAULT CHARSET=utf8;<o:p></o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="TEXT-INDENT: 36pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-bidi-font-family: 宋体">以上是我的心得，作为一个初学者，我希望得到大家的指导！<o:p></o:p></span></p>
          <br/>
          <span style="color:red;">
            <a href="http://zhangcheng.javaeye.com/blog/58840#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 10 Mar 2007 21:33:00 +0800</pubDate>
        <link>http://zhangcheng.javaeye.com/blog/58840</link>
        <guid>http://zhangcheng.javaeye.com/blog/58840</guid>
      </item>
  </channel>
</rss>