<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>一个人的天堂</title>
    <description>如果没有风浪，我就无法搏击长空！我祈求有暴风雨，这样在更大的波风雨来临的时候，我不会慌张，不会茫然无措!</description>
    <link>http://malijun.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>今天培训开始了！</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/209027" style="color:red;">http://malijun.javaeye.com/blog/209027</a>&nbsp;
          发表时间: 2008年06月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp; 给我们讲课的老师叫任海勇，昨天晚上看了他的blog，觉得写的不错。<br />
&nbsp;&nbsp;&nbsp;&nbsp; 不过本人看起来比在blog中的照片老一点。<br />
&nbsp; &nbsp;&nbsp; 讲课还是比较好的，起码我比较喜欢他的这一个风格。按时上下课，上午的课准时在12：00钟结束，真的是让我佩服的不得了。<br />
&nbsp; &nbsp; 今天教材没有带，所以只是听与做笔记，可能效果不是很好。还好，前几天复习了一点内容，听起来不是很吃力，觉得讲的都是自己熟悉的知识。</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/209027#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 28 Jun 2008 22:56:25 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/209027</link>
        <guid>http://malijun.javaeye.com/blog/209027</guid>
      </item>
          <item>
        <title>8种方法锻炼你的大脑</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/49844" style="color:red;">http://malijun.javaeye.com/blog/49844</a>&nbsp;
          发表时间: 2007年01月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <ol>
    <li>玩智力游戏</li>
    <li>锻炼你的记忆力,想象力,逻辑推理能力</li>
    <li>给自己一定的压力</li>
    <li>建立你的&quot;认知仓库&quot;</li>
    <li>记密码</li>
    <li>重新思考纵横字迷游戏</li>
    <li>学一门语言或一项操作技能</li>
    <li>锻炼身体.</li>
</ol>
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/49844#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Wed, 24 Jan 2007 11:24:15 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/49844</link>
        <guid>http://malijun.javaeye.com/blog/49844</guid>
      </item>
          <item>
        <title>一个简单的RST实例</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/49567" style="color:red;">http://malijun.javaeye.com/blog/49567</a>&nbsp;
          发表时间: 2007年01月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          首先用ruby script/generate migration create_table_friends创建一个migration文件，<br />
写入以下代码：<br />
<div class="code_title"><br />
</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-rb" start="1">
    <li class="alt"><span><span class="keyword">class</span><span>&nbsp;CreateTableFriends&nbsp;&lt;&nbsp;ActiveRecord::Migration&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;</span><span class="keyword">self</span><span>.up&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;create_table&nbsp;<span class="symbol">:friends</span><span>&nbsp;</span><span class="keyword">do</span><span>&nbsp;</span><span class="variable">|t</span><span>|&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.column&nbsp;<span class="symbol">:first_name</span><span>,&nbsp;</span><span class="symbol">:string</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.column&nbsp;<span class="symbol">:last_name</span><span>,&nbsp;</span><span class="symbol">:string</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.column&nbsp;<span class="symbol">:phone</span><span>,&nbsp;</span><span class="symbol">:string</span><span>,&nbsp;</span><span class="symbol">:limit</span><span>=&gt;12&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.column&nbsp;<span class="symbol">:email</span><span>,&nbsp;</span><span class="symbol">:string</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;</span><span class="keyword">self</span><span>.down&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;drop_table&nbsp;<span class="symbol">:friends</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
运行: rake migrate<br />
生成相应的数据表friends<br />
利用ruby script/generate scaffold friends生成一个支架，可以通过：http://127.0.0.13000添入几条测试数据。<br />
<br />
修改控制器中的list代码：<br />
<div class="code_title">ruby 代码</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-rb" start="1">
    <li class="alt"><span><span class="keyword">def</span><span>&nbsp;list&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;<span class="comment">#@friends_pages,&nbsp;@friends&nbsp;=&nbsp;paginate&nbsp;:friends,&nbsp;:per_page&nbsp;=&gt;&nbsp;10</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;<span class="variable">@friends</span><span>=Friend.find(</span><span class="symbol">:all</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;respond_to&nbsp;<span class="keyword">do</span><span>&nbsp;</span><span class="variable">|wants</span><span>|&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wants.html&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wants.js&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wants.xml{render&nbsp;<span class="symbol">:xml</span><span>=&gt;</span><span class="variable">@friends</span><span>.to_xml}&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
这个时候我们可以在浏览器中输入：http://127.0.0.1:3000/friends/list/index.xml 你就可以查看到相应的数据信息，它是以xml形式显示的。<br />
<br />
这样我们就完成了简单的一个相当于服务器端的功能，接下来我们就要来实现我们的客户端，我们可以直接通过ruby代码来调用，也可以再建一个rails应用来调用。我们分别给出：<br />
1.<br />
<div class="code_title">ruby 代码</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-rb" start="1">
    <li class="alt"><span><span>require&nbsp;'net/http'&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>Net::HTTP.start('localhost',&nbsp;3000)&nbsp;<span class="keyword">do</span><span>&nbsp;</span><span class="variable">|http</span><span>|&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;response&nbsp;=&nbsp;http.get('/friends/list',&nbsp;'Accept'&nbsp;=&gt;&nbsp;'text/xml')&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;<span class="comment">#Do&nbsp;something&nbsp;with&nbsp;the&nbsp;response.</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;puts&nbsp;<span class="string">&quot;Code:&nbsp;#{response.code}&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;puts&nbsp;<span class="string">&quot;Message:&nbsp;#{response.message}&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;puts&nbsp;<span class="string">&quot;Body:\n&nbsp;#{response.body}&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
运行以后输出的结果是：<br />
<div class="code_title"><br />
</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-xml" start="1">
    <li class="alt"><span><span>Code:&nbsp;200&nbsp;&nbsp;</span></span></li>
    <li class=""><span>Message:&nbsp;OK&nbsp;&nbsp;</span></li>
    <li class="alt"><span>Body:&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;<span class="tag">&lt;?</span><span class="tag-name">xml</span><span>&nbsp;</span><span class="attribute">version</span><span>=</span><span class="attribute-value">&quot;1.0&quot;</span><span>&nbsp;</span><span class="attribute">encoding</span><span>=</span><span class="attribute-value">&quot;UTF-8&quot;</span><span class="tag">?&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">friends</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">friend</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">email</span><span class="tag">&gt;</span><span>mloki@124.com</span><span class="tag">&lt;/</span><span class="tag-name">email</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">first-name</span><span class="tag">&gt;</span><span>&amp;#39532;</span><span class="tag">&lt;/</span><span class="tag-name">first-name</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">id</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;integer&quot;</span><span class="tag">&gt;</span><span>3</span><span class="tag">&lt;/</span><span class="tag-name">id</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">last-name</span><span class="tag">&gt;</span><span>&amp;#29702;&amp;#20891;</span><span class="tag">&lt;/</span><span class="tag-name">last-name</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">phone</span><span class="tag">&gt;</span><span>0511-8791837</span><span class="tag">&lt;/</span><span class="tag-name">phone</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">friend</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">friends</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
我们可以看到中文字条无法显示。<br />
<br />
2.<br />
在model中建立两个rb文件：<br />
<br />
friends_resource.rb
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-rb" start="1">
    <li class="alt"><span><span class="keyword">class</span><span>&nbsp;FriendsResource&nbsp;&lt;&nbsp;ActiveResource::Base&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;<span class="keyword">self</span><span>.site&nbsp;=&nbsp;'http://localhost:3000'&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
friend.rb<br />
<div class="code_title">ruby 代码</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-rb" start="1">
    <li class="alt"><span><span class="keyword">class</span><span>&nbsp;Friend&nbsp;&lt;&nbsp;FriendsResource&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;<span class="keyword">self</span><span>.site&nbsp;+=&nbsp;'/friends/list'&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
通过ruby script/generate controller getrest生成一个控制器，其中写一个index函数，实现如下：<br />
<div class="code_title">ruby 代码</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-rb" start="1">
    <li class="alt"><span><span class="keyword">def</span><span>&nbsp;index&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="variable">@f</span><span>=Friend.find(</span><span class="symbol">:all</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
建立相应的template文件，通过iterate我们就就可以把这个列表中所有的friend的相应属性输出。<br />
<br />
注：论坛里好多同学说中文问题，其实只要做以下几件事，就可以很好的解决中文问题：<br />
<br />
<ol>
    <li>在创建数据库的时候，设定其编码为：utf-general-ci</li>
    <li>在datatbase.yaml中设定：encoding: utf8</li>
    <li>最后一点就是把编辑器的编码改为utf-8就可以了（我用的是eclipse,可以实现这个功能的）</li>
</ol>
我希望坛子上的高手来实现用客户端删除、更改和创建friend。
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/49567#comments" style="color:red;">已有 <strong>4</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 23 Jan 2007 20:57:33 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/49567</link>
        <guid>http://malijun.javaeye.com/blog/49567</guid>
      </item>
          <item>
        <title>研究生监考</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/49563" style="color:red;">http://malijun.javaeye.com/blog/49563</a>&nbsp;
          发表时间: 2007年01月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          今天监考数学和专业课。做了一个小小的计划：<br />
<ol>
    <li>console(在eclipse的中)如何输出中文</li>
    <li>邮箱使用探索（决定以后用ainywn@gmail.com字母比较少）</li>
    <li>Google Reader用这个看rss</li>
    <li>RESTfull和unicode有空再练练</li>
    <li>这个blog希望能每天写东西（哎 以前在javaeye上写的东西导不过来）</li>
    <li>读书<br />
    <ol>
        <li>Getting things done中文版《尽管去做》</li>
        <li>应用rails进行敏捷web开发</li>
        <li>三国演义<br />
        </li>
    </ol>
    </li>
    <li>老友记、新概念英语3，高等数学的学习计划要列入日程</li>
    <li>了解svn</li>
    <li>在rails中如何使用plugins</li>
</ol>
简单列了点东西，学了GTD，会做了计划，不过看看还比较垃圾。要再好好看一遍书，以便能够更好应用这个方法进行个人管理。<br />
总是自认为文笔不错，但是真正写东西的时候，就是流水帐。
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/49563#comments" style="color:red;">已有 <strong>1</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Tue, 23 Jan 2007 20:26:15 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/49563</link>
        <guid>http://malijun.javaeye.com/blog/49563</guid>
      </item>
          <item>
        <title>如何提高你的创造性</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/48430" style="color:red;">http://malijun.javaeye.com/blog/48430</a>&nbsp;
          发表时间: 2007年01月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <ul>
    <li><font size="4" face="Verdana">Define a clear purpose.</font></li>
    <li><font size="4" face="Verdana">Identify a compelling motive.</font></li>
    <li><font size="4" face="Verdana">Architect a worthy challenge.</font></li>
    <li><font size="4" face="Verdana">Provide a conducive environment.</font></li>
    <li><font size="4" face="Verdana">Allocate a committed block of time.</font></li>
    <li><font size="4" face="Verdana">Prevent interruptions and distractions.</font></li>
    <li><font size="4" face="Verdana">Master your tools.</font></li>
</ul>
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/48430#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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, 18 Jan 2007 22:36:20 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/48430</link>
        <guid>http://malijun.javaeye.com/blog/48430</guid>
      </item>
          <item>
        <title>一个简单的vba程序</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/46036" style="color:red;">http://malijun.javaeye.com/blog/46036</a>&nbsp;
          发表时间: 2007年01月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="code_title">1、实现一个基本的复制功能，办公室同事所需要的一个小功能。<br />
</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-cpp" start="1">
    <li class="alt"><span><span>Sub&nbsp;rep()&nbsp;&nbsp;</span></span></li>
    <li class=""><span>'&nbsp;&nbsp;</span></li>
    <li class="alt"><span>'&nbsp;rep&nbsp;Macro&nbsp;&nbsp;</span></li>
    <li class=""><span>'&nbsp;宏由 sea gull 录制，时间:&nbsp;2007-1-10&nbsp;&nbsp;</span></li>
    <li class="alt"><span>'&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>'&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;Dim&nbsp;i&nbsp;As&nbsp;Integer&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;Dim&nbsp;endrow&nbsp;As&nbsp;Integer&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;endrow&nbsp;=&nbsp;Range(<span class="string">&quot;A65536&quot;</span><span>).End(xlUp).Row&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;For&nbsp;i&nbsp;=&nbsp;2&nbsp;To&nbsp;endrow&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;Cells(i,&nbsp;2).Value&nbsp;=&nbsp;<span class="string">&quot;&quot;</span><span>&nbsp;Then&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cells(i,&nbsp;2).Value&nbsp;=&nbsp;Cells(i,&nbsp;3).Value&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;Next&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>End&nbsp;Sub&nbsp;&nbsp;</span></li>
</ol>
</div>
<br />
<br />
<div class="code_title">2、检查身份证号码不为18位的单元格刷红：<br />
</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-cpp" start="1">
    <li class="alt"><span><span>Sub&nbsp;check18()&nbsp;&nbsp;</span></span></li>
    <li class=""><span>'&nbsp;&nbsp;</span></li>
    <li class="alt"><span>'&nbsp;check18&nbsp;Macro&nbsp;&nbsp;</span></li>
    <li class=""><span>'&nbsp;宏由&nbsp;sea&nbsp;gull&nbsp;录制，时间:&nbsp;2007-1-10&nbsp;&nbsp;</span></li>
    <li class=""><span>'&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>'&nbsp;&nbsp;</span></li>
    <li class=""><span>Dim&nbsp;i&nbsp;As&nbsp;Integer&nbsp;&nbsp;</span></li>
    <li class="alt"><span>Dim&nbsp;endrow&nbsp;As&nbsp;Integer&nbsp;&nbsp;</span></li>
    <li class=""><span>endrow&nbsp;=&nbsp;Range(<span class="string">&quot;A65536&quot;</span><span>).End(xlUp).Row&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>For&nbsp;i&nbsp;=&nbsp;2&nbsp;To&nbsp;endrow&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;If&nbsp;Len(CStr(Cells(i,&nbsp;3).Value))&nbsp;&lt;&gt;&nbsp;18&nbsp;And&nbsp;Len(CStr(Cells(i,&nbsp;3).Value))&nbsp;&lt;&gt;&nbsp;15&nbsp;Then&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cells(i,&nbsp;3).Font.ColorIndex&nbsp;=&nbsp;3&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;End&nbsp;If&nbsp;&nbsp;</span></li>
    <li class="alt"><span>Next&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>End&nbsp;Sub&nbsp;&nbsp;</span></li>
</ol>
</div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/46036#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Wed, 10 Jan 2007 18:56:00 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/46036</link>
        <guid>http://malijun.javaeye.com/blog/46036</guid>
      </item>
          <item>
        <title>保持心理平衡</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/43633" style="color:red;">http://malijun.javaeye.com/blog/43633</a>&nbsp;
          发表时间: 2007年01月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          美国医学专家研究发现，人类65-90％的疾病与心理的压抑感有关。<br />
<br />
紧张愤怒和敌意等不良情绪使人易患高血压、动脉硬化、冠心病、消化性溃疡、月经不调等，而且破坏人体免疫功能，加速人体衰老过程。联合国国际劳动组织发表的一份调查报告也认为，&quot;心理压抑是20世纪最严重的健康问题之一&quot;。<br />
<br />
现代生活中如何保持心理平衡，这是人们共同关心的问题。美国心理卫生学会提出了心理平衡的10条要诀，值得我们借鉴。<br />
<br />
1、<strong>对自己不苛求</strong>。每个人都有自己的抱负，有些人把自己的抱负目标定得太高，根本实现不了，于是终日抑郁不欢，这实际上是自寻烦恼；有些人对自己所做的 事情要求十全十美，有时近乎苛刻，往往因为小小的瑕疵而自责，结果受害者还是自己，为了避免挫折感，应该把目标和要求定在自己能力范围之内，懂得欣赏自己 已取得的成就，心情就会自然舒畅。<br />
<br />
2、<strong>不要处处与人争斗</strong>。有些人心理不平衡，完全是因为他们处处与人争斗，使得自己经常处于紧张状态。其实，人际之间应和谐相处，只要你不敌视别人，别人也不会与你为敌。<br />
<br />
3、<strong>对亲人期望不要过高</strong>。妻子盼望丈夫飞黄腾达，父母希望儿女成龙成凤，这似乎是人之常情。然而，当对方不能满足自己的期望时，便大失所望。其实，每个人都有自己的生活道路，何必要求别人迎合自己。<br />
<br />
4、<strong>暂离困境</strong>。在现实中，受到挫折时，应该暂将烦恼放下，去做你喜欢做的事，如运动、打球读书、欣赏等，待心境平和后，再重新面对自己的难题，思考解决的办法。<br />
<br />
5．<strong>适当让步</strong>。处理工作和生活中的一些问题，只要大前提不受影响，在非原则问题方面无需过分坚持，以减少自己的烦恼。<br />
<br />
6．<strong>对人表示善意</strong>。生活中被人排斥常常是因为别人有戒心。如果在适当的时候表示自己的善意，诚挚地谈谈友情，伸出友谊之手，自然就会朋友多，隔阂少，心境自然会变得平静。&nbsp;　　<br />
<br />
7．<strong>找人倾诉烦恼</strong>。生活中的烦恼是常事，把所有的烦恼都闷在心里，只会令人抑郁苦闷，有害身心健康。如果把内心的烦恼向知己好友倾诉，心情会顿感舒畅。&nbsp;　　<br />
<br />
8．<strong>帮助别人做事</strong>。助人为快乐之本，帮助别人不仅可使自己忘却烦恼，而且可以表现自己存在的价值，更可以获得珍贵的友谊和快乐。<br />
<br />
9．<strong>积极娱乐</strong>。生活中适当娱乐，不但能调节情绪，舒缓压力，还能增长新的知识和乐趣。&nbsp;　　<br />
<br />
10．<strong>知足常乐</strong>。不论是荣与辱、升与降、得与失，往往不以个人意志为转移，荣辱不惊，淡泊名利，做到心理平衡是极大的快乐。
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/43633#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Sun, 07 Jan 2007 11:28:46 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/43633</link>
        <guid>http://malijun.javaeye.com/blog/43633</guid>
      </item>
          <item>
        <title>Excluding column names from a listing</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/40964" style="color:red;">http://malijun.javaeye.com/blog/40964</a>&nbsp;
          发表时间: 2006年12月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre>Usually, it is better to make your own view instead of using the <br />scaffold, but sometimes it's easier just to use the scaffolding.<br /><br />What I did was override the content_columns method. Just take the <br />source:<br /><div class="code_title">ruby 代码</div><div class="dp-highlighter"><div class="bar">&nbsp;</div><ol class="dp-rb" start="1"><li class="alt"><span><span class="keyword">def</span><span>&nbsp;content_columns&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="variable">@content_columns</span><span>&nbsp;||=&nbsp;columns.reject&nbsp;{&nbsp;</span><span class="variable">|c</span><span>|&nbsp;c.primary&nbsp;||&nbsp;c.name&nbsp;=~&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>/(_id<span class="variable">|_count</span><span>)$/&nbsp;||&nbsp;c.name&nbsp;==&nbsp;inheritance_column&nbsp;}&nbsp;&nbsp;</span></span></li><li class=""><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li></ol></div><br />And add the column names you want to exclude in the regex with _id and<br />_count.</pre>
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/40964#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Wed, 27 Dec 2006 09:44:54 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/40964</link>
        <guid>http://malijun.javaeye.com/blog/40964</guid>
      </item>
          <item>
        <title>十个不能不知道的定律</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/40664" style="color:red;">http://malijun.javaeye.com/blog/40664</a>&nbsp;
          发表时间: 2006年12月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1、彼得原理 <br />
<br />
每个组织都是由各种不同的职位、等级或阶层的排列所组成，每个人都隶属于其中的某个等级。彼得原理是美国学者劳伦斯&middot; 彼得在对组织中人员晋升的相关现象研究后，得出一个结论：在各种组织中,雇员总是趋向于晋升到其不称职的地位。彼得原理有时也被称为&ldquo;向上爬&rdquo;的原理。 <br />
<br />
这种现象在现实生活中无处不在：一名称职的教授被提升为大学校长后，却无法胜任；一个优秀的运动员被提升为主管体育的官员，而无所作为。 <br />
<br />
对一个组织而言，一旦相当部分人员被推到其不称职的级别，就会造成组织的人浮于事，效率低下，导致平庸者出人头地，发展停滞。 <br />
<br />
因此，这就要求改变单纯的&ldquo;根据贡献决定晋升&rdquo;的企业员工晋升机制，不能因某人在某个岗位上干得很出色，就推断此人一定能够胜任更高一级的职务。将一名职工晋升到一个无法很好发挥才能的岗位，不仅不是对本人的奖励，反而使其无法很好发挥才能，也给企业带来损失。 <br />
<br />
2、酒与污水定律 <br />
<br />
酒与污水定律是指把一匙酒倒进一桶污水，得到的是一桶污水；如果把一匙污水倒进一桶酒，得到的还是一桶污水。在任何组织里，几乎都存在几个难弄的人物， 他们存在的目的似乎就是为了把事情搞糟。最糟糕的是，他们像果箱里的烂苹果，如果不及时处理，它会迅速传染，把果箱里其他苹果也弄烂。 <br />
<br />
&ldquo;烂苹果&rdquo;的可怕之处，在于它那惊人的破坏力。一个正直能干的人进入一个混乱的部门可能会被吞没，而一个无德无才者能很快将一个高效的部门变成一盘散沙。组织系统往往是脆弱的，是建立在相互理解、妥协和容忍的基础上的，很容易被侵害、被毒化。 <br />
<br />
破坏者能力非凡的另一个重要原因在于，破坏总比建设容易。一个能工巧匠花费时日精心制作的陶瓷器，一头驴子一秒钟就能毁坏掉。如果一个组织里有这样的一 头驴子，即使拥有再多的能工巧匠，也不会有多少像样的工作成果。如果你的组织里有这样的一头驴子，你应该马上把它清除掉，如果你无力这样做，就应该把它拴 起来。 <br />
<br />
3、木桶定律 <br />
<br />
水桶定律是讲一只水桶能装多少水，这完全取决于它最短的那块木板。这就是说任何一个组织，可能面临的一个共同问题，即构成组织的各个部分往往是优劣不齐的，而劣势部分往往决定整个组织的水平。 <br />
<br />
&ldquo;水桶定律&rdquo;与&ldquo;酒与污水定律&rdquo;不同，后者讨论的是组织中的破坏力量，&ldquo;最短的木板&rdquo;却是组织中有用的一个部分，只不过比其他部分差一些，你不能把它们 当成烂苹果扔掉。强弱只是相对而言的，无法消除，问题在于你容忍这种弱点到什么程度，如果严重到成为阻碍工作的瓶颈，你就不得不有所动作。 <br />
<br />
4、马太效应 <br />
<br />
《<a href="http://www.fifid.com/search/??%C2%B0????%C2%B7%C3%A9???%C2%A4????%C3%A9???src=yb_qsal&amp;utm_source=yb_qsal&amp;utm_medium=link&amp;utm_content=post" target="_blank">新约&middot;马太福音</a>》 中有这样一个故事：一个国王远行前，交给3个仆人每人一锭银子，吩咐道：&ldquo;你们去做生意，等我回来时，再来见我。&rdquo;国王回来时，第一个仆人说：&ldquo;主人，你 交给我的一锭银子，我已赚了10锭。&rdquo;于是，国王奖励他10座城邑。第二个仆人报告：&ldquo;主人，你给我的一锭银子，我已赚了5锭。&rdquo;于是，国王奖励他5座城 邑。第三仆人报告说：&ldquo;主人，你给我的1锭银子，我一直包在手帕里，怕丢失，一直没有拿出来。&rdquo;于是，国王命令将第三个仆人的1锭银子赏给第一个仆人， 说：&ldquo;凡是少的，就连他所有的，也要夺过来。凡是多的，还要给他，叫他多多益善.&rdquo;这就是马太效应,反应当今社会中存在的一个普遍现象,即赢家通吃. <br />
<br />
对企业经营发展而言，马太效应告诉我们，要想在某一个领域保持优势，就必须在此领域迅速做大。当你成为某个领域的领头羊时，即便投资回报率相同，你也能 更轻易地获得比弱小的同行更大的收益。而若没有实力迅速在某个领域做大，就要不停地寻找新的发展领域，才能保证获得较好的回报。 <br />
<br />
5、零和游戏原理 <br />
<br />
零和游戏是指一项游戏中，游戏者有输有赢，一方所赢正是另一方所输，游戏的总成绩永远为零，零和游戏原理之所以广受关注，主要是因为人们在社会的方方面面都能发现与&ldquo;零和游戏&rdquo;类似的局面，胜利者的光荣后面往往隐藏着失败者的辛酸和苦涩。 <br />
<br />
20世纪，人类经历两次世界大战、经济高速增长，科技进步、全球一体化以及日益严重的环境污染，&ldquo;零和游戏&rdquo;观念正逐渐被&ldquo;双赢&rdquo;观念所取代。人们开始认识到&ldquo;利已&rdquo;不一定要建立在&ldquo;损人&rdquo;的基础上。通过有效合作皆大欢喜的结局是可能出现的。 <br />
<br />
但从&ldquo;零和游戏&rdquo;走向&ldquo;双赢&rdquo;，要求各方面要有真诚合作的精神和勇气，在合作中不要小聪明，不要总想占别人的小便宜，要遵守游戏规则，否则&ldquo;双赢&rdquo;的局面就不可能出现，最终吃亏的还是合作者自己。 <br />
<br />
6、华盛顿合作规律 <br />
<br />
华盛顿合作规律说的是一个人敷衍了事，两个人互相推诿，三个人则永无成事之日。多少有点类似于我们&ldquo;三个和尚&rdquo;的故事。 <br />
<br />
人与人的合作，不是人力的简单相加，而是要复杂和微妙得多。在这种合作中，假定每个人的能力都为1，那么，10个人的合作结果有时比10大得多，有时，甚至比1还要小。因为人不是静止物，而更像方向各异的能量，相互推动时，自然事半功倍，相互抵触时，则一事无成。 <br />
<br />
我们传统的管理理论中，对合作研究得并不多，最直观的反映就是，目前的大多数管理制度和行为都是致力于减少人力的无谓消耗，而非利用组织提高人的效能。换言之，不妨说管理的主要目的不是让每个人做得更好，而是避免内耗过多。 <br />
<br />
7、手表定理 <br />
<br />
手表定理是指一个人有一只表时，可以知道现在是几点钟，当他同时拥有两只表时，却无法确定。两只手表并不能告诉一个人更准确的时间，反而会让看表的人失去对准确时间的信心。 <br />
<br />
手表定理在企业经营管理方面，给我们一种非常直观的启发，就是对同一个人或同一个组织的管理，不能同时采用两种不同的方法，不能同时设置两个不同的目标，甚至每一个人不能由两个人同时指挥，否则将使这个企业或这个人无所适从。 <br />
<br />
手表定理所指的另一层含义在于，每个人都不能同时选择两种不同的价值观，否则，你的行为将陷于混乱。 <br />
<br />
8、不值得定律 <br />
<br />
不值得定律最直观的表述是：不值得做的的事情，就不值得做好。这个定律再简单不过了，重要性却时时被人们忽视遗忘。不值得定律反映人们的一种心理，一个 人如果从事的是一份自认为不值得做的事情，往往会保持冷嘲热讽，敷衍了事的态度，不仅成功率低，而且即使成功，也不觉得有多大的成就感。 <br />
<br />
因此，对个人来说，应在多种可供选择的奋斗目标及价值观中挑选一种，然后为之奋斗。&ldquo;选择你所爱的，爱你所选择的，才可能激发我们的斗志，也可以心安理 得。而对一个企业或组织来说，则要很好地分析员工的性格特性，合理分配工作，如让成就欲较强的职工单独或牵头完成具有一定风险和难度的工作，并在其完成 时，给予及时的肯定和赞扬；让依附欲较强的职工，更多地参加到某个团体中共同工作；让权力欲较强的职工，担任一个与之能力相适应的主管。同时要加强员工对 企业目标的认同感，让员工感觉到自己所做的工作是值得的，这样才能激发职工的热情。 <br />
<br />
9、蘑菇管理 <br />
<br />
蘑菇管理是许 多组织对待初出茅庐者的一种管理方法，初学者被置于阴暗的角落（不受重视的部门，或打杂跑腿的工作），浇上一头大粪（无端的批评、指责、代人受过），任其 自生自灭（得不到必要的指导和提携）。相信很多人都有过这样一段&ldquo;蘑菇&rdquo;的经历，这不一定是什么坏事，尤其是当一切刚刚开始的时候，当几天&ldquo;蘑菇&rdquo;，能够 消除我们很多不切实际的幻想，让我们更加接近现实，看问题也更加实际。 <br />
<br />
一个组织，一般对新进的人员都是一视同仁，从起薪到工作都 不会有大的差别。无论你是多么优秀的人才，在刚开始的时候，都只能从最简单的事情做起，&ldquo;蘑菇&rdquo;的经历，对于成长中的年轻人来说，就象蚕茧，是羽化前必须 经历的一步。所以，如何高效率地走过生命的这一段，从中尽可能汲取经验，成熟起来，并树立良好的值得信赖的个人形象，是每个刚入社会的年轻人必须面对的课 题。 <br />
<br />
10、奥卡姆剃刀定律 <br />
<br />
12世纪，英国奥卡姆的威廉主张唯名论，只承认确实存在的东西，认为那些空洞无物的 普遍性概念都是无用的累赘，应当被无情地&ldquo;剃除&rdquo;。他主张&ldquo;如无必要，勿增实体&rdquo;。这就是常说的&ldquo;奥卡姆剃刀&rdquo;。这把剃刀曾使很多人感到威胁，被认为是异 端邪说，威廉本人也因此受到迫害。然而，并未损害这把刀的锋利，相反，经过数百年的岁月，奥卡姆剃刀已被历史磨得越来越快，并早已超载原来狭窄的领域，而 具有广泛、丰富、深刻的意义。 <br />
<br />
奥卡姆剃刀定律在企业管理中可进一步演化为简单与复杂定律：把事情变复杂很简单，把事情变简单很复杂。这个定律要求，我们在处理事情时，要把握事情的主要实质，把握主流，解决最根本的问题，尤其要顺应自然，不要把事情人为地复杂化，这样才能把事情处理好。
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/40664#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Mon, 25 Dec 2006 16:32:01 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/40664</link>
        <guid>http://malijun.javaeye.com/blog/40664</guid>
      </item>
          <item>
        <title>计算年数的一个函数</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/40632" style="color:red;">http://malijun.javaeye.com/blog/40632</a>&nbsp;
          发表时间: 2006年12月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Q:<br />
<pre>I've got a datetime column in my database for a person's age. How would<br />I be able to calculate the number of years they are from the DB date to<br />current time?</pre>
A:<br />
<pre><div class="code_title">ruby 代码</div><div class="dp-highlighter"><div class="bar">&nbsp;</div><ol class="dp-rb" start="1"><li class="alt"><span><span class="keyword">def</span><span>&nbsp;age&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;((<span class="builtin">Time</span><span>.now&nbsp;-&nbsp;birthday)/(60*60*24)/365.2422).to_i&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li></ol></div><br /></pre>
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/40632#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 25 Dec 2006 15:34:24 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/40632</link>
        <guid>http://malijun.javaeye.com/blog/40632</guid>
      </item>
          <item>
        <title>eclipse安装插件(以安装语言包为例)</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/39643" style="color:red;">http://malijun.javaeye.com/blog/39643</a>&nbsp;
          发表时间: 2006年12月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span class="tpc_content">解压缩 eclipse-SDK-3.2-win32.zip到 D:\eclipse（我放的路径，阁下可以自己选择）<br />
<br />
在 eclipse 目录中新建一个名为 language 和 links 的目录，并将下载下来的语言包 NLpack1-eclipse-SDK-3.2-win32 解压缩到 language 目录中，然后在 links 目录里新建一个文本文件，命名为 language.link ，在文件里写入下列信息：path=D:\\eclipse\\language 其中 D 为阁下所使用的盘符，设置 path 指向 language 目录，保存即可。<br />
<br />
启动 Eclipse 3.1.2，已经是中文的了！</span>
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/39643#comments" style="color:red;">已有 <strong>1</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Tue, 19 Dec 2006 23:31:49 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/39643</link>
        <guid>http://malijun.javaeye.com/blog/39643</guid>
      </item>
          <item>
        <title>  一个简单的hibernate实例（之二）</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/39435" style="color:red;">http://malijun.javaeye.com/blog/39435</a>&nbsp;
          发表时间: 2006年12月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          上一篇我们编写了用一个普通的java类来对我们的hibernate应用进行测试，现在我们继续利用我们上次编写的程序，<br />
描述如何在web环境下对其进行使用：<br />
<br />
一、在Tomcat的根目录下的common\lib目录下引入mysql的驱动及dbcp的支持jar。<br />
二、在webapps目录下建立hibernate目录作为我们的web应用要目录。在其中建立WEB-INF目录，并在这个目录下建立<br />
classes与lib目录，在lib中引入我们上一篇介绍的hibernate3.2用户库中的所有jar，并从我们在eclipse中建立的工<br />
程的根目录下的bin目录中引入我们程序编译后的class文件到classes目录中。<br />
三、建立连接池<br />
1、修改conf目录下的server.xml在 &lt;GlobalNamingResources&gt; &lt;/GlobalNamingResources&gt;段中加入<br />
<div class="code_title"><br />
</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-xml" start="1">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">Resource</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;jdbc/hibernate&quot;</span><span>&nbsp;</span><span class="attribute">auth</span><span>=</span><span class="attribute-value">&quot;Container&quot;</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;javax.sql.DataSource&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">maxActive</span><span>=</span><span class="attribute-value">&quot;100&quot;</span><span>&nbsp;</span><span class="attribute">maxIdle</span><span>=</span><span class="attribute-value">&quot;30&quot;</span><span>&nbsp;</span><span class="attribute">maxWait</span><span>=</span><span class="attribute-value">&quot;10000&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">username</span><span>=</span><span class="attribute-value">&quot;root&quot;</span><span>&nbsp;</span><span class="attribute">password</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">driverClassName</span><span>=</span><span class="attribute-value">&quot;com.mysql.jdbc.Driver&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">url</span><span>=</span><span class="attribute-value">&quot;jdbc:mysql://127.0.0.1:3306/myproject?autoReconnect=true&amp;amp;useUnicode=true&amp;amp;characterEncoding=utf8&quot;</span><span class="tag">/&gt;</span><span>&nbsp; <br />
    </span></span></li>
</ol>
</div>
<br />
<br />
四、在conf\Catalina\localhost目录下建立一个配置文件<br />
<br />
<br />
<strong><font size="4">hibernate.xml</font><br />
<br />
</strong>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-xml" start="1">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">Context</span><span>&nbsp;&nbsp;&nbsp;</span><span class="attribute">displayName</span><span>=</span><span class="attribute-value">&quot;hibernate&quot;</span><span>&nbsp;&nbsp;&nbsp;</span><span class="attribute">docBase</span><span>=</span><span class="attribute-value">&quot;E:\Tomcat&nbsp;5.5\webapps\hibernate&quot;</span><span>&nbsp;&nbsp;&nbsp;</span><span class="attribute">path</span><span>=</span><span class="attribute-value">&quot;/hibernate&quot;</span><span>&nbsp;&nbsp;&nbsp;</span><span class="attribute">privileged</span><span>=</span><span class="attribute-value">&quot;true&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">ResourceLink</span><span>&nbsp;&nbsp;&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;jdbc/hibernate&quot;</span><span>&nbsp;&nbsp;&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;javax.sql.DataSource&quot;</span><span>&nbsp;&nbsp;&nbsp;</span><span class="attribute">global</span><span>=</span><span class="attribute-value">&quot;jdbc/hibernate&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">Context</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
<br />
五、在WEB-INF目录下建立：<br />
<font size="4"><strong><br />
web.xml<br />
</strong></font>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-xml" start="1">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">resource-ref</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">description</span><span class="tag">&gt;</span><span>DB</span><span class="tag">&lt;/</span><span class="tag-name">description</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">res-ref-name</span><span class="tag">&gt;</span><span>jdbc/hibernate</span><span class="tag">&lt;/</span><span class="tag-name">res-ref-name</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">res-type</span><span class="tag">&gt;</span><span>javax.sql.DataSource</span><span class="tag">&lt;/</span><span class="tag-name">res-type</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">res-auth</span><span class="tag">&gt;</span><span>Container</span><span class="tag">&lt;/</span><span class="tag-name">res-auth</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;<span class="tag">&lt;/</span><span class="tag-name">resource-ref</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
<br />
六、在\WEB-INF\classes上好中建立hibernate的配置文件：<br />
<br />
<font size="4"><strong>hibernate.cfg.xml<br />
<br />
</strong></font>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-xml" start="1">
    <li class="alt"><span><span class="tag">&lt;?</span><span class="tag-name">xml</span><span>&nbsp;</span><span class="attribute">version</span><span>=</span><span class="attribute-value">&quot;1.0&quot;</span><span>&nbsp;</span><span class="attribute">encoding</span><span>=</span><span class="attribute-value">&quot;utf-8&quot;</span><span class="tag">?&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&lt;!DOCTYPE&nbsp;hibernate-configuration&nbsp;PUBLIC&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&quot;-//Hibernate/Hibernate&nbsp;Configuration&nbsp;DTD&nbsp;3.0//EN&quot;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&quot;http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd&quot;<span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">hibernate-configuration</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">session-factory</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;connection.datasource&quot;</span><span class="tag">&gt;</span><span>java:comp/env/jdbc/hibernate</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;show_sql&quot;</span><span class="tag">&gt;</span><span>true</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;dialect&quot;</span><span class="tag">&gt;</span><span>org.hibernate.dialect.MySQLDialect</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">mapping</span><span>&nbsp;</span><span class="attribute">resource</span><span>=</span><span class="attribute-value">&quot;px/malijun/User.hbm.xml&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">session-factory</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">hibernate-configuration</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
所有准备工作做好了，我们现在又可以写测试代码了，不过这次写的是jsp文件：（我们写的很简陋）<br />
<font size="4"><strong><br />
insert.html<br />
</strong></font>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-xml" start="1">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">form</span><span>&nbsp;</span><span class="attribute">action</span><span>=</span><span class="attribute-value">&quot;insertok.jsp&quot;</span><span>&nbsp;</span><span class="attribute">method</span><span>=</span><span class="attribute-value">&quot;post&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>name:<span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">text</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;name&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">br</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>password:<span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">text</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;password&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">br</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>email:<span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">text</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;email&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">br</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">submit</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">&quot;submit&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">br</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;/</span><span class="tag-name">form</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<font size="4"><strong><br />
insertok.jsp<br />
<br />
</strong></font>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-j" start="1">
    <li class="alt"><span><span>&nbsp;&lt;%@&nbsp;page&nbsp;</span><span class="keyword">import</span><span>=</span><span class="string">&quot;java.sql.*,java.util.*,px.malijun.*&quot;</span><span>&nbsp;contentType=</span><span class="string">&quot;text/html;charset=UTF-8&quot;</span><span>&nbsp;pageEncoding=</span><span class="string">&quot;UTF-8&quot;</span><span>&nbsp;%&gt;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&lt;jsp:useBean&nbsp;id=<span class="string">&quot;user&quot;</span><span>&nbsp;</span><span class="keyword">class</span><span>=</span><span class="string">&quot;px.malijun.User&quot;</span><span>&nbsp;scope=</span><span class="string">&quot;page&quot;</span><span>&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;jsp:setProperty&nbsp;name=<span class="string">&quot;user&quot;</span><span>&nbsp;property=</span><span class="string">&quot;*&quot;</span><span>/&gt;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&lt;/jsp:useBean&gt;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&lt;jsp:useBean&nbsp;id=<span class="string">&quot;userBusiness&quot;</span><span>&nbsp;</span><span class="keyword">class</span><span>=</span><span class="string">&quot;px.malijun.UserBean&quot;</span><span>&nbsp;scope=</span><span class="string">&quot;page&quot;</span><span>/&gt;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&lt;html&gt;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;HEAD&gt;&nbsp;&nbsp;</span></li>
    <li class=""><span>&lt;meta&nbsp;http-equiv=<span class="string">&quot;Content-Type&quot;</span><span>&nbsp;content=</span><span class="string">&quot;text/html;charset=UTF-8&quot;</span><span>&nbsp;&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&lt;/HEAD&gt;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;body&gt;&lt;center&gt;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&lt;%&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;<span class="keyword">try</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;userBusiness.addUser(user);&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;%&gt;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;<span class="keyword">catch</span><span>(Exception&nbsp;e)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;out.println(<span class="string">&quot;Error!&quot;</span><span>+e.getMessage());&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;e.printStackTrace();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;}&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;%&gt;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&lt;/body&gt;&nbsp;&nbsp;</span></li>
    <li class=""><span>&lt;/html&gt;&nbsp;&nbsp;</span></li>
</ol>
</div>
<br />
<br />
ok,在web环境下如何对hibernate进行测试也完成了。
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/39435#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 17 Dec 2006 16:37:22 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/39435</link>
        <guid>http://malijun.javaeye.com/blog/39435</guid>
      </item>
          <item>
        <title>一个简单的hibernate实例（之一）</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/39429" style="color:red;">http://malijun.javaeye.com/blog/39429</a>&nbsp;
          发表时间: 2006年12月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一、下载hibernate-3.2 core版本，解压。<br />
二、打开eclipse，建立一个用户库，命名为:hibernate3.2，导入刚解压的hibernate目录下的hibernate3.jar<br />
并\lib目录下的所有jar文件。在Builder path的source and output fold中选择Folder,并默认给出的文件夹名。<br />
在as JRE library use中选择JRE_LIB variable。<br />
三、新建一个java工程。在其属性的Java Build Path中引入刚建立的hibernate3.2用户库并mysql的java驱动（<br />
视你所用的数据库而定，在这我用的是mysql数据库）。<br />
四、在src中建立一个包，设为px.malijun,并在其中建立以下几个Java Class:<br />
<br />
<br />
<div class="code_title">User.java</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-j" start="1">
    <li class="alt"><span><span class="keyword">package</span><span>&nbsp;px.malijun;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;User&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">int</span><span>&nbsp;id;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;String&nbsp;name;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;String&nbsp;password;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;String&nbsp;email;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;String&nbsp;getEmail()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;email;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;setEmail(String&nbsp;email)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.email&nbsp;=&nbsp;email;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;String&nbsp;getName()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;name;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;setName(String&nbsp;name)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.name&nbsp;=&nbsp;name;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;String&nbsp;getPassword()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;password;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;setPassword(String&nbsp;password)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.password&nbsp;=&nbsp;password;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">int</span><span>&nbsp;getId()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;id;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;setId(</span><span class="keyword">int</span><span>&nbsp;id)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.id&nbsp;=&nbsp;id;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<br />
<br />
建立相应的xml映射文件：<br />
<br />
<div class="code_title">User.hbm.xml<br />
</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-xml" start="1">
    <li class="alt"><span><span class="tag">&lt;?</span><span class="tag-name">xml</span><span>&nbsp;</span><span class="attribute">version</span><span>=</span><span class="attribute-value">&quot;1.0&quot;</span><span>&nbsp;</span><span class="attribute">encoding</span><span>=</span><span class="attribute-value">'utf-8'</span><span class="tag">?&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&lt;!DOCTYPE&nbsp;hibernate-mapping&nbsp;PUBLIC&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;-//Hibernate/Hibernate&nbsp;Mapping&nbsp;DTD&nbsp;3.0//EN&quot;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd&quot;<span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">hibernate-mapping</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">class</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;px.malijun.User&quot;</span><span>&nbsp;</span><span class="attribute">table</span><span>=</span><span class="attribute-value">&quot;users&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">id</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;id&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">generator</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;identity&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">id</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;name&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;password&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;email&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">class</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">hibernate-mapping</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
<br />
在数据库中建立一个myproject(按你的意思定名)数据库，在其中建立一个users表（向RoR学习）：<br />
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-sql" start="1">
    <li class="alt"><span><span class="keyword">CREATE</span><span>&nbsp;</span><span class="keyword">TABLE</span><span>&nbsp;`users`&nbsp;(&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;`id`&nbsp;<span class="keyword">int</span><span>(11)&nbsp;</span><span class="op">NOT</span><span>&nbsp;</span><span class="op">NULL</span><span>&nbsp;auto_increment,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;`<span class="keyword">name</span><span>`&nbsp;</span><span class="keyword">varchar</span><span>(255)&nbsp;</span><span class="keyword">default</span><span>&nbsp;</span><span class="op">NULL</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;`<span class="keyword">password</span><span>`&nbsp;</span><span class="keyword">varchar</span><span>(255)&nbsp;</span><span class="keyword">default</span><span>&nbsp;</span><span class="op">NULL</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;`email`&nbsp;<span class="keyword">varchar</span><span>(255)&nbsp;</span><span class="keyword">default</span><span>&nbsp;</span><span class="op">NULL</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;<span class="keyword">PRIMARY</span><span>&nbsp;</span><span class="keyword">KEY</span><span>&nbsp;&nbsp;(`id`)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>)&nbsp; <br />
    </span></li>
</ol>
</div>
<br />
<br />
注：我是用phpmyadmin对mysql数据库进行管理的，在建立的时候我特意为其选择了utf-8编码。<br />
<br />
<br />
在src的根目录下（以上的user.hbm.xml映射文件与User.java在同一目录下）建立hibernate的配置文件：<br />
<br />
<div class="code_title">hibernate.cfg.xml<br />
</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-xml" start="1">
    <li class="alt"><span><span class="tag">&lt;?</span><span class="tag-name">xml</span><span>&nbsp;</span><span class="attribute">version</span><span>=</span><span class="attribute-value">&quot;1.0&quot;</span><span>&nbsp;</span><span class="attribute">encoding</span><span>=</span><span class="attribute-value">&quot;utf-8&quot;</span><span class="tag">?&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&lt;!DOCTYPE&nbsp;hibernate-configuration&nbsp;PUBLIC&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&quot;-//Hibernate/Hibernate&nbsp;Configuration&nbsp;DTD&nbsp;3.0//EN&quot;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&quot;http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd&quot;<span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">hibernate-configuration</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">session-factory</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comments">&lt;!--&nbsp;显示实际操作数据库时的SQL&nbsp;--&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;show_sql&quot;</span><span class="tag">&gt;</span><span>true</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comments">&lt;!--&nbsp;SQL&nbsp;方言，这边设定的是MySQL&nbsp;--&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;dialect&quot;</span><span class="tag">&gt;</span><span>org.hibernate.dialect.MySQLDialect</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comments">&lt;!--&nbsp;JDBC&nbsp;驱动程序&nbsp;--&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;connection.driver_class&quot;</span><span class="tag">&gt;</span><span>com.mysql.jdbc.Driver</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comments">&lt;!--&nbsp;JDBC&nbsp;URL　注意这边我设定的所使用的编码 --&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;connection.url&quot;</span><span class="tag">&gt;</span><span>jdbc:mysql://localhost:3306/myproject?</span><span class="attribute">useUnicode</span><span>=</span><span class="attribute-value">true</span><span>&amp;amp;</span><span class="attribute">characterEncoding</span><span>=</span><span class="attribute-value">utf8</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comments">&lt;!--&nbsp;数据库使用者&nbsp;--&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;connection.username&quot;</span><span class="tag">&gt;</span><span>root</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comments">&lt;!--&nbsp;数据库密码&nbsp;--&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;connection.password&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comments">&lt;!--&nbsp;以下设置对象与数据库表格映像文件&nbsp;--&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">mapping</span><span>&nbsp;</span><span class="attribute">resource</span><span>=</span><span class="attribute-value">&quot;px/malijun/User.hbm.xml&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">session-factory</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="tag">&lt;/</span><span class="tag-name">hibernate-configuration</span><span class="tag">&gt;</span></span></li>
    <li class=""><span><span class="tag"></span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
<br />
ok 了，下面我们就进入我们的实际使用阶段了：<br />
<br />
<br />
由于常规操作都类似，我们建立了一个抽象类：<br />
<br />
<div class="code_title">HibernateBase.java<br />
</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-j" start="1">
    <li class="alt"><span><span class="keyword">package</span><span>&nbsp;px.malijun;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;org.hibernate.*;&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">import</span><span>&nbsp;org.hibernate.cfg.*;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;java.util.*;&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">import</span><span>&nbsp;java.io.IOException;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;java.io.PrintWriter;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">abstract</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;HibernateBase&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span><span>&nbsp;SessionFactory&nbsp;sessionFactory;</span><span class="comment">//会话工厂，用于创建会话</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span><span>&nbsp;Session&nbsp;session;</span><span class="comment">//hibernate会话</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span><span>&nbsp;Transaction&nbsp;transaction;&nbsp;</span><span class="comment">//hiberante事务</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;HibernateBase()</span><span class="keyword">throws</span><span>&nbsp;HibernateException&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.initHibernate();&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;帮助方法</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;initHibernate()&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">throws</span><span>&nbsp;HibernateException&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;装载配置，构造SessionFactory对象</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sessionFactory&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;Configuration().configure().buildSessionFactory();&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**</span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*开始一个hibernate事务</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;beginTransaction()&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">throws</span><span>&nbsp;HibernateException&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session&nbsp;=&nbsp;sessionFactory.openSession();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transaction&nbsp;=&nbsp;session.beginTransaction();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**</span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*结束一个hibernate事务。</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;endTransaction(</span><span class="keyword">boolean</span><span>&nbsp;commit)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">throws</span><span>&nbsp;HibernateException&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(commit)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transaction.commit();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span class="keyword">else</span><span>&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//如果是只读的操作，不需要commit这个事务。</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transaction.rollback();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session.close();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<br />
<br />
然后建立一个具体针对User操作的一个类：<br />
<div class="code_title">UserBean.java<br />
</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-j" start="1">
    <li class="alt"><span><span class="keyword">package</span><span>&nbsp;px.malijun;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;org.hibernate.*;&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">import</span><span>&nbsp;org.hibernate.cfg.*;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;java.util.*;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="comment">/**</span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;*&nbsp;和course相关的业务逻辑</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;UserBean&nbsp;</span><span class="keyword">extends</span><span>&nbsp;HibernateBase&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;UserBean()&nbsp;</span><span class="keyword">throws</span><span>&nbsp;HibernateException&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">super</span><span>();&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**</span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;增加一个Course</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;addUser(User&nbsp;user)&nbsp;</span><span class="keyword">throws</span><span>&nbsp;HibernateException&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beginTransaction();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session.save(user);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endTransaction(<span class="keyword">true</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;查询系统中所有的Course，返回的是包含有Course持久对象的Iterator。</span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;Iterator&nbsp;getAllUsers()&nbsp;</span><span class="keyword">throws</span><span>&nbsp;HibernateException&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;queryString&nbsp;=&nbsp;<span class="string">&quot;select&nbsp;users&nbsp;from&nbsp;User&nbsp;as&nbsp;user&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beginTransaction();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Query&nbsp;query&nbsp;=&nbsp;session.createQuery(queryString);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Iterator&nbsp;it&nbsp;=&nbsp;query.iterate();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;it;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**</span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;删除给定ID的course</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;deleteUser(String&nbsp;id)&nbsp;</span><span class="keyword">throws</span><span>&nbsp;HibernateException&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beginTransaction();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User&nbsp;user&nbsp;=&nbsp;(User)&nbsp;session.load(User.<span class="keyword">class</span><span>,&nbsp;id);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session.delete(user);&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endTransaction(<span class="keyword">true</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**</span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;按course的名字进行模糊查找，返回的是包含有Course持久对象的Iterator。</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;Iterator&nbsp;getSomeUser(String&nbsp;name)&nbsp;</span><span class="keyword">throws</span><span>&nbsp;HibernateException&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;queryString&nbsp;=&nbsp;<span class="string">&quot;select&nbsp;u&nbsp;from&nbsp;User&nbsp;as&nbsp;u&nbsp;where&nbsp;u.name&nbsp;like&nbsp;:name&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beginTransaction();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Query&nbsp;query&nbsp;=&nbsp;session.createQuery(queryString);&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;query.setString(<span class="string">&quot;name&quot;</span><span>,&nbsp;</span><span class="string">&quot;%&quot;</span><span>&nbsp;+&nbsp;name&nbsp;+&nbsp;</span><span class="string">&quot;%&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Iterator&nbsp;it&nbsp;=&nbsp;query.iterate();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;it;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<br />
万事大吉，所欠的事情就是调用UerBean中定义的操作进行我们实际所要针对User所做的事情了。我们写一个简单的<br />
测试：<br />
<br />
<div class="code_title">Test.java<br />
</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-j" start="1">
    <li class="alt"><span><span class="keyword">package</span><span>&nbsp;px.malijun;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;Test {&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**</span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;args</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;main(String[]&nbsp;args)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UserBean&nbsp;ub=<span class="keyword">new</span><span>&nbsp;UserBean();&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User&nbsp;user&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;User();&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user.setName(<span class="string">&quot;你好，世界！&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user.setPassword(<span class="string">&quot;123456&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user.setEmail(<span class="string">&quot;ok@ujs.edu.cn&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ub.addUser(user);&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<br />
<br />
哦，好简洁的代码。这个测试在执行以后，你查看一下数据库中的users表，你就会发现，我们真的add一个user了，其它的<br />
操作，我们就略了。<br />
<br />
下一篇幅我们介绍如何在web环境下使用我们以上编写的程序。
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/39429#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Sun, 17 Dec 2006 16:14:24 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/39429</link>
        <guid>http://malijun.javaeye.com/blog/39429</guid>
      </item>
          <item>
        <title>ubuntu中realplayer无法开启的解决</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/37919" style="color:red;">http://malijun.javaeye.com/blog/37919</a>&nbsp;
          发表时间: 2006年12月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          是和scim的冲突问题 <br />
<br />
<div class="dp-highlighter">
<ol class="dp-css" start="1">
    <li class="alt"><span><span>sudo&nbsp;gedit&nbsp;/usr/bin/realplay&nbsp;&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<br />
<br />
在第二行 <br />
也就是#!/bin/sh的下一行加入 <br />
<br />
<div class="dp-highlighter">
<ol class="dp-css" start="1">
    <li class="alt"><span><span>GTK_IM_MODULE=xim&nbsp;;&nbsp;export&nbsp;GTK_IM_MODULE&nbsp;&nbsp;</span></span></li>
</ol>
</div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/37919#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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, 08 Dec 2006 09:44:00 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/37919</link>
        <guid>http://malijun.javaeye.com/blog/37919</guid>
      </item>
          <item>
        <title>ubuntu中dpkg的使用</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/37293" style="color:red;">http://malijun.javaeye.com/blog/37293</a>&nbsp;
          发表时间: 2006年12月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          以下为操作 deb 包的常用 Dpkg 指令表，供初学的朋友参考。<br />
命令和作用<br />
<ul>
    <li>dpkg -i package.deb 安装包</li>
    <li>dpkg -r package 删除包</li>
    <li>dpkg -P package 删除包（包括配置文件）</li>
    <li>dpkg -L package 列出与该包关联的文件</li>
    <li>dpkg -l package 显示该包的版本</li>
    <li>dpkg &ndash;unpack package.deb 解开 deb 包的内容</li>
    <li>dpkg -S keyword 搜索所属的包内容</li>
    <li>dpkg -l 列出当前已安装的包</li>
    <li>dpkg -c package.deb 列出 deb 包的内容</li>
    <li>dpkg &ndash;configure package 配置包</li>
</ul>
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/37293#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Tue, 05 Dec 2006 15:26:39 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/37293</link>
        <guid>http://malijun.javaeye.com/blog/37293</guid>
      </item>
          <item>
        <title>神奇的Access,神奇的SQL语句</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/37253" style="color:red;">http://malijun.javaeye.com/blog/37253</a>&nbsp;
          发表时间: 2006年12月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="code_title">sql 代码</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-sql" start="1">
    <li class="alt"><span><span class="keyword">SELECT</span><span>&nbsp;</span><span class="keyword">First</span><span>([考场安排].[考场])&nbsp;</span><span class="keyword">AS</span><span>&nbsp;考场之</span><span class="keyword">First</span><span>,&nbsp;[考场安排].[考场位置],&nbsp;</span><span class="func">Count</span><span>([考场安排].[考场位置])&nbsp;</span><span class="keyword">AS</span><span>&nbsp;考场位置之</span><span class="func">Count</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">FROM</span><span>&nbsp;考场安排&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">GROUP</span><span>&nbsp;</span><span class="keyword">BY</span><span>&nbsp;[考场安排].[考场位置]&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">ORDER</span><span>&nbsp;</span><span class="keyword">BY</span><span>&nbsp;</span><span class="keyword">First</span><span>([考场安排].[考场]);&nbsp;&nbsp;</span></span></li>
</ol>
</div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://malijun.javaeye.com/blog/37253#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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;">Windows7在微软WinHEC 2008上揭开神秘面纱</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>Tue, 05 Dec 2006 11:08:20 +0800</pubDate>
        <link>http://malijun.javaeye.com/blog/37253</link>
        <guid>http://malijun.javaeye.com/blog/37253</guid>
      </item>
          <item>
        <title>rails 上传图片</title>
        <author>sea gull</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://malijun.javaeye.com">sea gull</a>&nbsp;
                    链接：<a href="http://malijun.javaeye.com/blog/37018" style="color:red;">http://malijun.javaeye.com/blog/37018</a>&nbsp;
          发表时间: 2006年12月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="code_title"><font size="3" face="Arial"><br />
ruby 代码</font></div>
<div class="dp-highlighter">
<ol class="dp-rb" start="1">
    <li class="alt"><font size="3" face="Arial"><span><span class="keyword">class</span><span>&nbsp;CreatePictures&nbsp;&lt;&nbsp;ActiveRecord::Migration&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;</span><span class="keyword">self</span><span>.up&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;create_table&nbsp;<span class="symbol">:pictures</span><span>&nbsp;</span><span class="keyword">do</span><span>&nbsp;</span><span class="variable">|t</span><span>|&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;t.column&nbsp;<span class="symbol">:comment</span><span>,&nbsp;</span><span class="symbol">:string</span><span>,&nbsp;</span><span class="symbol">:limit</span><span>=&gt;100&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;t.column&nbsp;<span class="symbol">:name</span><span>,&nbsp;</span><span class="symbol">:string</span><span>,&nbsp;</span><span class="symbol">:limit</span><span>=&gt;200&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;t.column&nbsp;<span class="symbol">:content_type</span><span>,&nbsp;</span><span class="symbol">:string</span><span>,&nbsp;</span><span class="symbol">:limit</span><span>=&gt;100&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;t.column&nbsp;<span class="symbol">:title</span><span>,&nbsp;</span><span class="symbol">:binary</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;</span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;</span><span class="keyword">self</span><span>.down&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;drop_table&nbsp;<span class="symbol">:pictures</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
</ol>
</div>
<font size="3" face="Arial"><br />
<br />
</font>
<div class="code_title"><font size="3" face="Arial">ruby 代码</font></div>
<div class="dp-highlighter">
<ol class="dp-rb" start="1">
    <li class="alt"><font size="3" face="Arial"><span><span class="keyword">class</span><span>&nbsp;RenameColumnData&nbsp;&lt;&nbsp;ActiveRecord::Migration&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;</span><span class="keyword">self</span><span>.up&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;rename_column&nbsp;<span class="symbol">:pictures</span><span>,</span><span class="symbol">:title</span><span>,&nbsp;</span><span class="symbol">:data</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;</span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;</span><span class="keyword">self</span><span>.down&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;rename_column&nbsp;<span class="symbol">:pictures</span><span>,</span><span class="symbol">:data</span><span>,&nbsp;</span><span class="symbol">:title</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
</ol>
</div>
<font size="3" face="Arial"><br />
以上是通过migration建立相应的数据表。</font>
<p><font size="3" face="Arial">&nbsp;</font></p>
<p><font size="3" face="Arial">建立controller：</font></p>
<p> </p>
<div class="code_title"><font size="3" face="Arial">ruby 代码</font></div>
<div class="dp-highlighter">
<ol class="dp-rb" start="1">
    <li class="alt"><font size="3" face="Arial"><span><span class="keyword">class</span><span>&nbsp;UploadController&nbsp;&lt;&nbsp;ApplicationController&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;get&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="variable">@picture</span><span>&nbsp;=&nbsp;Picture.</span><span class="keyword">new</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
</ol>
</div>
<font size="3" face="Arial"><br />
</font>
<p>&nbsp;</p>
<p><font size="3" face="Arial">&nbsp;</font></p>
<p><font size="3" face="Arial">建立get template：</font></p>
<div class="code_title"><font size="3" face="Arial">ruby 代码</font></div>
<div class="dp-highlighter">
<ol class="dp-rb" start="1">
    <li class="alt"><font size="3" face="Arial"><span><span>&lt;%=&nbsp;error_messages_for(</span><span class="string">&quot;picture&quot;</span><span>)&nbsp;%&gt;&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&lt;%=&nbsp;form_tag({<span class="symbol">:action</span><span>&nbsp;=&gt;&nbsp;'save'},&nbsp;</span><span class="symbol">:multipart</span><span>&nbsp;=&gt;&nbsp;</span><span class="keyword">true</span><span>)&nbsp;%&gt;&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>Comment:&nbsp;&lt;%=&nbsp;text_field(<span class="string">&quot;picture&quot;</span><span>,&nbsp;</span><span class="string">&quot;comment&quot;</span><span>)&nbsp;%&gt;&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span><br />
    &nbsp;&nbsp;</span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>Upload&nbsp;your&nbsp;picture:&nbsp;&lt;%=&nbsp;file_field(<span class="string">&quot;picture&quot;</span><span>,&nbsp;</span><span class="string">&quot;picture&quot;</span><span>)&nbsp;%&gt;&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span><br />
    &nbsp;&nbsp;</span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&lt;%=&nbsp;submit_tag(<span class="string">&quot;Upload&nbsp;file&quot;</span><span>)&nbsp;%&gt;&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&lt;%=&nbsp;end_form_tag&nbsp;%&gt;&nbsp;&nbsp;</span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;</span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;</span></font></li>
</ol>
</div>
<font size="3" face="Arial"><br />
</font>
<p><font size="3" face="Arial">建立model：</font></p>
<p> </p>
<div class="code_title"><font size="3" face="Arial">ruby 代码</font></div>
<div class="dp-highlighter">
<ol class="dp-rb" start="1">
    <li class="alt"><font size="3" face="Arial"><span><span class="keyword">class</span><span>&nbsp;Picture&nbsp;&lt;&nbsp;ActiveRecord::Base&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;validates_format_of&nbsp;<span class="symbol">:content_type</span><span>,&nbsp;</span><span class="symbol">:with</span><span>&nbsp;=&gt;&nbsp;/^image/,&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="symbol">:message</span><span>&nbsp;=&gt;&nbsp;</span><span class="string">&quot;---&nbsp;you&nbsp;can&nbsp;only&nbsp;upload&nbsp;pictures&quot;</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;picture=(picture_field)&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">self</span><span>.name&nbsp;=&nbsp;base_part_of(picture_field.original_filename)&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">self</span><span>.content_type&nbsp;=&nbsp;picture_field.content_type.chomp&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">self</span><span>.data&nbsp;=&nbsp;picture_field.read&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;base_part_of(file_name)&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;=&nbsp;<span class="builtin">File</span><span>.basename(file_name)&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;name.gsub(/[^\w._-]/,&nbsp;<span class="string">''</span><span>)&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
</ol>
</div>
<font size="3" face="Arial"><br />
</font>
<p>&nbsp;</p>
<p><font size="3" face="Arial"></font></p>
<p><font size="3" face="Arial">扩充controller，添加save action：</font></p>
<div class="code_title"><font size="3" face="Arial">ruby 代码</font></div>
<div class="dp-highlighter">
<ol class="dp-rb" start="1">
    <li class="alt"><font size="3" face="Arial"><span><span class="keyword">def</span><span>&nbsp;save&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="variable">@picture</span><span>&nbsp;=&nbsp;Picture.</span><span class="keyword">new</span><span>(params[</span><span class="symbol">:picture</span><span>])&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;</span><span class="variable">@picture</span><span>.save&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;</span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;redirect_to(<span class="symbol">:action</span><span>&nbsp;=&gt;&nbsp;'show',&nbsp;</span><span class="symbol">:id</span><span>&nbsp;=&gt;&nbsp;</span><span class="variable">@picture</span><span>.id)&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">else</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span>&nbsp;&nbsp;&nbsp;&nbsp;render(<span class="symbol">:action</span><span>&nbsp;=&gt;&nbsp;</span><span class="symbol">:get</span><span>)&nbsp;&nbsp;</span></span></font></li>
    <li class=""><font size="3" face="Arial"><span>&nbsp;&nbsp;<span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
    <li class="alt"><font size="3" face="Arial"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></font></li>
</ol>
</div>
<font size="3" face="Arial"><br />
</font>
<p><font size="3" face="Arial">&nbsp;</font></p>
<p><font size="3" face="Arial">扩充controller，添加picture action：</font></p>
<p> </p>
<div class="code_title"><font size="3" face="Arial">ruby 代码</font></div>
<div class="dp-highlighter">
<ol class="dp-rb" start="1">
    <li class="alt"><