Archive for the ‘随便一扔’ Category

[Eclipse下的Hibernate开发by Lenciel] 1. 环境搭建

星期六, 五月 14th, 2005
     在Java的学习中,对环境的搭建是开始学习的前提。论坛中的高手们一般没有时间来处理新手关于环境搭建这样的问题。这个时候通常我们会求助于Google。然而由于要搭建的环境往往是几个开源软件的组合,再加上版本变化也会有很大影响,搜索到完全符合自己需要的配置步骤几乎是不可能的。用了很多的东西之后我觉得还是自己看看下载到的包中的文档最好,怎么配置,和其他软件的版本配合等等一般都是写得很清楚的。当然,这种自己看文档的方法还是比较慢的。这里先对自己使用的环境做一个比较详细的介绍。

     1. 所需软件列表


  Eclipse 3.1M5                        http://www.eclipse.org/

  Ant 1.6.2                             http://ant.apache.org

  Xdoclet 1.2.2                        http://xdoclet.sourceforge.net/xdoclet/

  Hibernate 2.1.8                     http://www.hibernate.org/

  Hibernate Extensions 2.1.3      http://prdownloads.sourceforge.net/hibernate

  MySQL 4.1                            http://www.mysql.com/

     注意下载MySQL的时候还要下载它的JDBC驱动
     考虑到大家都有获取这些软件的独特途径(比如我就是在学校的ftp上下载的),所以没有给出直接的下载地址,只是给出了产品的主页。说实话按照我们学校上外网的速度,要下一个eclipse就需要很长的时间。

    2. 安装  

    ● MySQL
      MySQL被我安装在C盘的根目录下。之所以这么安装是因为学MySQL的时候经常跑到命令行下面去,自己又懒得设置快捷方式。你可以把它安装在你喜欢的任何地方,再建立一个指向该目录的命令行快捷方式。在学习Hibernate的过程中,我使用了MySQL Query Browser,这是一个免安装的工具软件,我不知道算不算强大,但是学Hibernate应该是够用了。
     
    ● Eclipse、Xdoclet、Hibernate
      解压,解到自己喜欢的地方

    ● Ant
      解压,解到自己喜欢的地方。然后在环境变量中设置 ANT_HOME ,将其指向Ant安装目录,再在Path变量值中添加 “%ANT_HOME%\bin;”这一项。到命令行下面”ant -help”一下,可以检查是不是安装好了。

     一些在Java开发中常用的软件需要我们掌握。至少Eclipse我们得用熟吧。再比如Ant,JUnit等等,它们有多常用只要看Eclipse对它们的整合就知道了。有几本书是值得一看的:
      Eclipse:
           Manning. “Publications.Company.Eclipse.in.Action.A.Guide.for.the.Java.Developer”
      Ant:    
           Manning. “Java. Development. with. Ant”
      Junit:   
           Manning. “Junit. in .Action”
      还有一本:Wrox.Press. “Professional.Java.Tools.for.Extreme.Programming”
     请不要怀疑我是不是在给Manning出版社打广告,in Action系列在Java社区确实是炙手可热。也不要逐字逐句的去看它们,这些软件就是帮助我们更好进行开发的工具,如果你只是玩玩Java,大概看都不用看。
     

       3. Eclipse下面的配置

     安装好所有的软件之后我们已经可以开始学习Hibernate了。但是为了方便,还是先进行适当的配置,以发挥Eclipse强大的功能。
     
    ● 建立库文件夹
     这里建立的库文件夹主要放置外部(相对于JDK而言)的库。Eclipse在建立工程的时候会叫你指定需要的Liberaries(注意这个时候的指定仅仅是告诉了Eclipse一个指向要用到的库的路径,如果要发布工程的话需要把所有的库拷到工程中来),如果开发中用到的库比较多,每次都去指定实在是很麻烦的事情。我们可以把常用的库放在一个固定的文件夹下,然后在Eclipse中创建自定义的库。具体做法如下:

     在D盘下新建一个External lib目录,在此目录下新建一个Hibernate子目录。
D:\
 -External lib
    -hibernate

     然后呢,可以把前面安装好的Hibernate、Hibernate extensions、Xdoclet等等的lib文件夹下的库文件都拷到这个文件夹中去,但是这么干无疑是没有技术含量的。打开hibernate的文档或者一些教程都可以看到关于hibernate哪些库是必须的指导,我们只要把它们拷入库文件夹即可。
      
· 将下载的hibernate-2.1.8.zip解压,解压后的目录名为hibernate-2.1,将这个目录下的hibernate2.jar复制到先前建立的lib目录下,即D:\External lib\hibernate目录,这个是hibernate的核心;

· 然后将hibernate-2.1目录下的lib子目录中的以下文件也复制到这个lib目录下:
    


  dom4j(必需):Hibernate在解析XML配置和映射文件时要用到它。
 
  Cglib(必需):Hibernate在运行时使用这个代码生成库强化类(和Java反射机制联合使用)。

  Commons Collections, Commons Logging(必需):Hibernat使用Apache Jakarta Commons项目提供的多个工具库。
    
  Odmg4(必需):Hibernate提供了一个可选择的ODMG兼容持久化管理界面。但是只要你需要映射集合,你就需要這个库,不管有没有用到ODMG API。

  EHCache(必需):Hibernate可以使用不同的第二级Cache方案。如果沒有修改配置的話,EHCache提供默认的Cache。
   
  Log4j(可选):Hibernate使用Commons Logging API,后者可以使用Log4j作為底层实施log的机制。如果上下文类目录中存在Log4j这个库,Commons Logging就会使用Log4j和它在上下文类路径中找到的log4j.properties文件。在Hibernate发行包中包含有一个示例的 properties文件。所以,如果你想看看幕後到底发生了什么,也把log4j.jar拷貝到你的上下文类路径中去吧。
    


      
     上面是Hibernate手册中列出的一些库。

     Jta.jar(必需):Hibernate底层还需要Java Transaction API,所以我们还需要jta.jar  

· 解压hibernate-extensions-2.1.3.zip,将其子目录tools中的hibernate-tools.jar和子目录lib中的velocity-1.3.1.jar、jdom.jar 也复制到D:\External lib\hibernate目录中。hibernate-extensions主要提供一些扩展功能,比如hbm文件到java文件这样的转换,在我们后面的工程中会用到。

·  解压xdoclet-bin-1.2.2.zip,将其子目录lib中的xdoclet-1.2.2.jar、xdoclet-hibernate- module-1.2.2.jar、xjavadoc-1.1.jar、xdoclet-xdoclet-module-1.2.2.jar 也复制到D:\External lib\hibernate目录中。

· 最后将mysql-connector-java-3.1.7-bin.jar文件复制到这个目录下。

     这样,需要用到的库文件已经准备好了,如果认为这样比较麻烦,那就把jar文件全部复制到hibernate目录下面。下面介绍如何在Eclipse中设置“User Liberaries”。

     ● 设置“User Liberaries”

·window ->preferences ->Java ->Build Path ->User Liberaries


· 然后单击“add JARs”


     这样,一个User Liberaries就做好了,如果要更新Eclipse时,可以将其先导出,然后再导入即可。这样做,对库文件便于管理,而且如果需要替换或者升级的话都比较方便。

      ● 设置“Build Path”

 ·window ->preferences ->Java ->Build Path


     到此,我们学习Hibernate的环境就搭建起来了。


      

传染性心绞痛?

星期二, 十二月 7th, 2004
     老一辈的人民艺术家窦小姐向我们诠释过一个道理,六月飞雪,必有冤情。这条定理在常温常压下是成立的,并且可以有推论:长沙这地方下雪,不管是几月,都有冤情。所以看完书,见雪居然还不停,赶紧来论坛看看怎么回事。找了熟悉的地方,似乎一切都好,就来到了这个不太常来的地方。


    这里岂止有冤情,简直是字字血泪。就连恐龙贝贝都原创出《终于等到他爱我》,我象你那么大的时候,连等到别人恨我,一定就很高兴了。心痛心痛,每个人都心痛,传染性心绞痛?我可不可以说句讨打的话,知识就是力量,知识还在,力量呢?当然不是对真情实感不屑一顾,感时花溅泪,恨别鸟惊心,人之常情。泪眼看花,花当然都憔悴了。可是我倒从来都希望,身边每一个人都有一份轻松的心态对待挫折。感情上的也好,学习上的也罢。孔庆东找工作不到的时候,写过一些诗,拣其中最“干净”的大概是:

  

  要想荣华富贵,

  除非狼心狗肺。

  起早贪黑跑单位,

  挨不完的累,

  下不完的跪,

  咽不完的泪。

  大丈夫钢牙咬碎,

  我日你祖宗八辈!


也很痛苦,但是确有力量。我们看待生活,应该如此,挫折都会有的。尤其是感情上的事,没人说得清。然而那其中的猜疑,犹豫,陶醉,兴奋,盲目,乃至意乱情迷,头晕目眩,不正是千百万痴男怨女接二连三的投入其中的原因吗?要是它真的象求阶跃函数一样有章可循,是不是有些食之无味了?


     文字,应该于痛苦中处处透露出希望。不要像钱钟书,把自己当作局外人来冷嘲了。但无论如何,能幽默得起来,还是好的。现在的滥情的东西太多,让人觉得恶心。


     最后送上给所有人的祝福:祝大家在新的一年里,吃得下饭,睡得着觉,笑得出来。说来简单,还希望大家能做到。

毛董,为什么有人爱又有人恨

星期二, 十二月 7th, 2004
   “我相信,天上可爱的天使,他们也决不会没有瑕疵.天幕上最光洁的星辰,要是伤了风,也会堕入凡尘.最好的苹果酒常带木桶的味道,太阳里也有黑点可以看到.”
                                      ——–[德]海涅:《拉撒路》,《罗曼采罗》第221页

    本来不想写毛董。他走的时候,带着银靴奖和校联赛亚军以及所有兄弟们和fans们的衷心祝福,去北京会见他心爱的女友。他走的时候面带幸福的微笑,清清爽爽,这些都让我觉得不用再多说些什么。

    但是今天去了speed向我推荐的nudt.net看贴时发现还有五院的球迷在讨伐他的中指,原文我记不下来,意思归纳出来好象是说和毛滔对竖中指,但毕竟时间上在后,所以感觉被占了便宜,还是很愤怒,等等等等。

    首先,毛董是不该用中指反抗球迷的。调侃也好侮辱也罢,越是一个有档次的球星就越容易享受对手这种待遇。作为校队的一员,要在意自己的行为。包括高哥推杜汶那一下,虽然没有毛董这一指这么大的影响,但是在我看来那张黄牌还是杨导有些留情了。以后在校队的要吸取教训,在场上不但要管好自己,而且还要控制其他队员的情绪。这些要向老队员学习,如果没有管子和lucky,相信四六院的比赛也要粗暴不少。我记得一句关于场上纪律的话说:“场上的队长敢说裁判,其他队员就敢骂裁判。队长敢骂裁判,其他人就敢打裁判。”校队的队员到了学员队都是核心,一言一行都要三思而后行。

    还看到一些与这一指无关的其他评论。比如说这个人在场上除了假摔就是乱叫,小动作很多。更多的是认为他目中无人,大吵大闹的爱耍大牌。怎么说呢?要是这些人这么想,那他们是不够了解毛滔。

    在我看来,毛滔是个不能保持沉默的人。这和中国的文化要求很不一样。中国人推崇在公众场合什么都不说,到了私下里则妙语连珠,换言之,对信得过的人什么都说,对信不过的人什么都不说。这应该是很好办到的。比如在球场上挨了骂。放到世界范围内,解决的办法是很多的。你可以走到场边找到骂你的人对他说:同志,五讲四美,请你注意。但你得到的回答也许是:傻!如果骂你的人心情很好或者很不好,也许他还会说你:傻逼.作为一个中国人,我们当然可以也应该体面的一笑了之,然后选择沉默的方式来表达自己对这种行为的厌恶之情:比如下次见到他在食堂吃饭,在他身上打翻一碗甜酒,或者是查明他的自行车是哪辆,然后偷偷扔到桥下去。同样,做为华夏子孙,对毛滔的中指有意见的人也没有冲进场内要和毛滔真人pk,而是选择了比较沉默的方式:回家发贴再骂你丫的。

    然而毛滔是个无法沉默的人,他选择到场边去对骂,还竖起中指。支持他的fans当然会赞扬他快意恩仇,巴不得与他同竖;讨厌他的人当然会怒不可遏,连忙与他对竖。而这件事绝对还不会了结,一直沸沸扬扬闹到人都走掉。再次声明我并不认为毛董的选择好,我们看这个现象,属于沉默的事用话讲了出来,进而用手指竖了出来,结果就总是这么怪怪的。这让我想起了我小时候有一次到姑姑家玩,那时我还没有学会沉默。姑姑刚烫了个发型,我按捺不住心中的感觉,朝全世界放声高呼丑死了,结果被我爸爸拖回去海揍了一顿。也许我就是在他那宽大的手掌的上下翻飞中学会了沉默。但是我知道我并不孤单,因为我的身边,是沉默的大多数。“话语有一个神圣的使命,就是想要证明说话者本身与众不同,是芸芸众生中的娇娇者。”我们却总是在为自己的逐渐沉默而欢欣鼓舞,以为这就是成长。后来终于明白了沉默的大多数其实也不甘于沉默的,只是因为在中国要想说话常常意味着要争夺话语权,没有话语权就不能说。结果沉默啊沉默,有的在沉默中爆发有的在沉默中变态。还有的在沉默中变态了然后爆发,比如马加爵。

    其实在中国要想看到nudt.net这样的争执也已经是仅限于年轻人当中,而且是善良正直的青年,再成熟一点或者再阴狠一点的人是不会发出声响的。我始终认为越是沉默的人杀伤力越大,所以我也敢保证这件事情的所有参与者在生活中都是正常而正直的人,不过是各为其主时的一些小小摩擦罢了。球场上有那么多打过架的人最后成了朋友,因为率真是友谊的保证,即使作为沉默的大多数,也是需要它的。而我们讨论毛滔以及所有我们要讨论的人的时候,都应该把他当做一个人,不以偏概全,也不盲目包庇。把批判的对手当人,常常是听起来废话做起来很难的事情。

    最后,就是祝毛滔在新的环境里把武功练到化境。

捕鼠记

星期二, 十二月 7th, 2004
     上个星期下了两次雨,一次下了三天,一次下了四天.然后湖南就开始抗洪了。古语有云:水过瘟神到,这次似乎是瘟疫过后才到的洪水了,还是瘟疫过了再洪水再瘟疫?真是让人不敢往深的想。我们的温总,(温总?好熟的名字啊^-^)温总理可是受命临危啊。新闻联播说中国的经济还在稳步增长,呵呵,中央电视台的节目都这样,好象正大综艺,稳不稳,有多稳,信不信由你。其实国家有了这么大的灾难,还那么在乎GDP涨不涨的人,多少就有点被经济建设为中心的口号搞昏了头。“任何时候,生命都应该是最宝贵的。”我们寝室卧谈时,总有这样义正词严的声音。


    这时候便看见了老鼠在床下点头。


    我们的寝室,原来据说是要给博士的,后来考虑到面着马路,而且是国道,就给了我们。乔迁新居时,我们好几天都没怎么睡着,兴奋固然是有,但主要是因为太吵。人民生活水平提高了,国道上24小时都有开往康庄大道的车辆,大二放假还扩了一次路,回来的时候阳台上黄土盛积,俨然一个沙坑。不过,毕竟是四个人一间的豪宅,还有卫生间等奢侈品,又是铝合金的窗,关起小楼成一统,蚊虫要比以前少得多。更不要说老鼠了。


     然而幸福总是短暂的,留下的是无尽的痛苦和长叹。轻轻的,它来了,沿着隔壁窗台,爬了进来,从那以后,不愿byebye。白天就呆在我们和隔壁卫生间连接的地方,晚上就出来shake his body。可是,这年头,地主家也没余粮。每晚关灯后听它在下面寻寻觅觅,既怕它找到了我们的奶粉袋子,更怕它找不到吃的要到我们床上来找。所以当有一天,这只老鼠昏了头,居然在我们四条汉子都坐在桌前的时候冲出卫生间(当时老陶正在里面,发出了一声哀嚎。后来我们一直在讨论,究竟它看见了什么惊世骇俗的东西,连命都不要了),我们赶紧忘了任何时候,生命都应该是最宝贵的。


     这只老鼠论年龄比不上我们,但是看在它占个老字,姑且唤作鼠兄。这次行动的前50分钟我们完全被它所戏弄。有研究说100年来城里的老鼠进化速度很快,并且完全按着奥林匹克精神在发展。寝室被我们搞了个底朝天,可是连它面都没有见上几面。大概是优势太大,鼠兄逃跑的线路越发随意,竟然一头冲进了阳台。要知道我们的阳台可是有门有窗很好围剿的。我的室友,同是四川人的康维维率先跟了进去,我们看到阳台太小,人多了反而不好,就安然的堵在门上隔着玻璃看他表演。只见他左手扫把右手球鞋在里面象练什么功夫走火入魔一般手舞足蹈,还是跟不上鼠兄。这时,我们就感到有些好笑,根本不知道打鼠史上最壮观的一幕就要发生在我们眼前了。康维维突然放下屠刀,用起了,用起了手刀。几下扑腾之后,竟然一把把老鼠抓了起来。然后他拉开窗户,把老鼠高高的扔了出去!做完这一切,他还转身对我们做了一个NBA各大球星扣完篮长做的动作。当我们反应过来,准备打个包袱就永远逃出这个魔鬼的视线的时候,他拉开了门,恢复了平日里“文质彬彬”的模样,很冷静的说:“没什么,我家养过猫的。”


   那天是5月24号,一个我们永远记得的日子,因为三天后的今天,5月27号12点7分,隔壁的妈妈重来叫我们关好卫生间的门,因为那只老鼠现在正在他们卫生间!


   “是那只吗?”老陶有些不甘心的问。


   “没错,就是眼神象蹦过极。”



身材

星期二, 十二月 7th, 2004
     每年开学都是故人相见不相识的时候,放假回家吃得好,睡得香,大家都会抓紧时间有意无意的长些肉,于是开学见面,看那些熟悉的脸会觉得看到的是身份证照片,扁扁的.这时候对男生你要是恭喜,他会和你同喜,如果是女生,你就要小心招来杀身之祸了。


     这实在不是什么玩笑话.国家反对”重男轻女”已经很多年,但是女生从来不领这份情.长肉带来的恐慌让减肥成了一个眼花缭乱的领域.就我听过的各种偏方秘方,趣闻怪事写下来只怕也要汗牛充栋,这里姑且按下不表.我还看到过许多话是女生自己写来劝女生的,比如:”如果你对現在的身材不滿意,就永远会對自己的身材不滿意(頂尖名模也沒有給自己的身材一百分),妳可以做一點改良,但是身材永遠不會变成妳幻想中的那個样子;妳不必忍飢挨餓不择手段,反正隨著年岁增加,妳會更不滿意,會發現其實原來自己年輕時很不錯,為什麼在可以吃冰淇淋時沒多吃幾顆? “


     话是很有道理的,但是我想作者也不会比谁多吃几颗的。


     至于男生,衡量身材时最占分量的好象就不是体重而是身高了。这是男生的苦处,因为不是想吃”高”就能吃”高”,但是无疑也少了很多麻烦。爹生妈给的东西,何必太在意呢。


     当然,如果要踢球,没有一点体重就不行了。象我从军训过后,坚持暴饮暴食数年如一日,到现在长过最多的肉就是三颗青春痘,比高中还要瘦十几斤.踢球的时候只要有身体冲撞,就倍感人世间的艰辛困苦。其实据肖老师(我妈,我们互称肖老师和李老师)讲,我小时侯也是胖过的。用修辞的手法来说明的话,从军人服务社摔一跤,大概可以滚到东门的303汽车站,外公称我小皮球。后来不知道是何原因,就是不长肉, 吃进去的是饭菜,挤出来的也不是奶,不知道营养都吸收到哪里去了。


     和我鲜明对比的是vivid,按一般人的审美观点,在我初中认识他的时候,他就已经无药可救了。他有不错的身高和朱孝天一样的宽宽的国字脸,可惜不能对尘世间的美食守口如瓶,于是世界上少了一个帅哥,而仙界多了一位食神。在湘潭比赛的一个星期里,vivid长了20斤肉。我每每在睡不着的夜晚,对着当空皓月,比划20斤肉的形状—20斤肉啊,那么大一块,一个星期,哇靠!vivid最神奇的还在于他想减肥的时候,总是能再减下去,虽然这多半要归功于食神妈妈的坚壁清野,但是还是让猪翅膀佩服佩服。