ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>精品视频一区二区三区四区,在线精品观看国产,91电影在线播放http://www.aygfsteel.com/zhangwenlong/JCenterzh-cnTue, 10 Jun 2025 00:04:38 GMTTue, 10 Jun 2025 00:04:38 GMT60sdfsdfhttp://www.aygfsteel.com/zhangwenlong/archive/2009/08/13/291092.htmlZhangwenlongZhangwenlongThu, 13 Aug 2009 14:36:00 GMThttp://www.aygfsteel.com/zhangwenlong/archive/2009/08/13/291092.htmlhttp://www.aygfsteel.com/zhangwenlong/comments/291092.htmlhttp://www.aygfsteel.com/zhangwenlong/archive/2009/08/13/291092.html#Feedback0http://www.aygfsteel.com/zhangwenlong/comments/commentRss/291092.htmlhttp://www.aygfsteel.com/zhangwenlong/services/trackbacks/291092.html

Zhangwenlong 2009-08-13 22:36 发表评论
]]>
dsfasfdhttp://www.aygfsteel.com/zhangwenlong/archive/2009/08/13/291090.htmlZhangwenlongZhangwenlongThu, 13 Aug 2009 14:34:00 GMThttp://www.aygfsteel.com/zhangwenlong/archive/2009/08/13/291090.htmlhttp://www.aygfsteel.com/zhangwenlong/comments/291090.htmlhttp://www.aygfsteel.com/zhangwenlong/archive/2009/08/13/291090.html#Feedback0http://www.aygfsteel.com/zhangwenlong/comments/commentRss/291090.htmlhttp://www.aygfsteel.com/zhangwenlong/services/trackbacks/291090.html<script type="text/javascript" src="http://admin.ewinke.com/code/ep77.js"></script><script type="text/javascript" src="http://ewinke.ewinke.com/js/ewk.js"></script> 

Zhangwenlong 2009-08-13 22:34 发表评论
]]>
Apache与Tomcat整合http://www.aygfsteel.com/zhangwenlong/archive/2008/02/02/178943.htmlZhangwenlongZhangwenlongSat, 02 Feb 2008 02:04:00 GMThttp://www.aygfsteel.com/zhangwenlong/archive/2008/02/02/178943.htmlhttp://www.aygfsteel.com/zhangwenlong/comments/178943.htmlhttp://www.aygfsteel.com/zhangwenlong/archive/2008/02/02/178943.html#Feedback0http://www.aygfsteel.com/zhangwenlong/comments/commentRss/178943.htmlhttp://www.aygfsteel.com/zhangwenlong/services/trackbacks/178943.html

Apache�/span>Tomcat整合

一åQ?/span>Apacheä¸?/span>Tomcat介绍

    Apache是当前ä‹É用最为广泛的WWW服务器èÊYä»Óž¼Œå…ähœ‰ç›¸å½“强大的静æ€?/span>HTML处理的能力ã€?/span>

     Tomcat服务器是一个免费的开放源代码çš?/span>Web应用服务器,它是Apache软äšg基金会(Apache Software FoundationåQ‰çš„Jakarta™å¹ç›®ä¸­çš„一个核心项目,ç”?/span>Apacheã€?/span>Sunå’?/span>   其他一些公司及个äh共同开发而成。由于有äº?/span>Sun的参与和支持åQŒæœ€æ–°çš„Servletå’?/span>JSP   规范æ€ÀL˜¯èƒ½åœ¨Tomcat中得åˆîC½“玎ͼŒTomcat5支持最新的Servlet 2.4å’?/span>JSP 2.0规范。因ä¸?/span>Tomcat技术先˜q›ã€æ€§èƒ½½E›_®šåQŒè€Œä¸”免费åQŒå› è€Œæ·±å?/span>Java爱好者的喜爱òq¶å¾—åˆîCº†éƒ¨åˆ†è½¯äšgå¼€å‘å•†çš„è®¤å¯ï¼ŒæˆäØ“ç›®å‰æ¯”è¾ƒ‹¹è¡Œçš?/span>Web应用服务器ã€?/span>

 Tomcatå’?/span>IISã€?/span>Apache½{?/span>WebæœåŠ¡å™¨ä¸€æ øP¼Œå…ähœ‰å¤„理HTML™åµé¢çš„功能,另外它还是一ä¸?/span>Servletå’?/span>JSP容器åQŒç‹¬ç«‹çš„Servlet容器æ˜?/span>Tomcat的默认模式ã€?/span>

 

二.ä¸ÞZ»€ä¹ˆéœ€è¦æ•´å?/span>

æ•´åˆçš„æœ€ä¸»è¦åŽŸå› æ˜¯äØ“äº†åœ¨çŽ°æœ‰çš„ç¡¬ä»¶æ¡ä»¶ä¸‹æä¾›æœ€å¤§çš„è´Ÿè²ã€?/span>

如果单独使用Tomcatå?/span>JSP服务器,在工作效率上会存在问é¢?/span>,Tomcat处理静æ€?/span>HTML的能力不å¦?/span>ApacheåQŒåÆˆä¸”æ‰€èƒ½æ‰¿å—çš„æœ€å¤§åÆˆå‘è¿žæŽ¥æ•°ä¹Ÿæœ‰ä¸€å®šçš„é™åˆ¶åQ?/span>

在测试中åQŒå½“òq¶å‘˜qžæŽ¥è¾ƒå¤šæ—Óž¼ŒTomcatž®×ƒ¼šå¤„于僉|­»çŠ¶æ€ï¼Œå¯¹åŽ¾l§çš„è¯äh±‚˜qžæŽ¥å¤±åŽ»å“åº”ã€‚æ‰€ä»¥çŽ°åœ¨æå‡ÞZ¸€ä¸?/span>整合解决æ–ÒŽ(gu¨©)¡ˆåQšå°†htmlä¸?/span>jsp的功能部分进行明¼‹®åˆ†å·¥ï¼Œè®?/span>tomcat只处ç?/span>jsp部分åQŒå…¶å®ƒçš„ç”?/span>apache˜q™ä¸ªweb server处理ã€?/span>Apacheä¸?/span>Tomcat各司其职åQŒé‚£ä¹ˆæœåŠ¡å™¨çš„æ•´ä½“æ•ˆçŽ‡å°±èƒ½å¤Ÿå¾—åˆ°æå‡ã€?/span>

 

三.整合的基本原�/span>

 ä½œäØ“Apache下面的子™å¹ç›®åQ?/span>Tomcat ä¸?/span> Apache之间有着天然的联¾p…R€‚在实际操作中,主要æ˜?/span>Apacheä½œäØ“ä¸ÀLœåС噍˜qè¡ŒåQŒå½“监听到有jsp或è€?/span>servlet的请求时åQŒå°†è¯äh±‚转发¾l?/span>tomcat服务器,ç”?/span>tomcat服务器进行解析后åQŒå‘å›?/span>apacheåQŒå†ç”?/span>apache发回用户ã€?/span>

åœ?/span>tomcat中有两个监听的端口,一个是8080用于提供web服务,一个是8009用于监听来自äº?/span>apache的请求。当apache收到jsp或è€?/span>servletè¯äh±‚æ—Óž¼Œž®±å‘tomcat çš?/span>8009端口发送请求,交由tomcat处理后,再返回给apacheåQŒç”±apache˜q”回¾l™å®¢æˆ—÷€?/span>

 

四.安装Apache�/span>Tomcat服务�/span>

   æ“ä½œ¾pȝ»ŸçŽ¯å¢ƒåQ?/span>Windows xp home

   å®‰è£…æ–‡äšgåQ?/span>apache-tomcat-6.0.14.exe apache_2.2.6-win32-x86-openssl-0.9.8e.msi mod_jk-apache-2.2.4.so

 

  åˆ?/span>apache ä¸?/span>tomcat çš„官方网站上面下è½?/span>apache ä¸?/span>tomcatåQŒå®‰è£?/span>apacheä¸?/span>tomcat

     åˆ?/span>http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32下蝲 mod_jk-apache-2.2.4.so

     ž®?/span>mod_jk-apache-2.2.4.so拯‚´åˆ?/span>apache安装目录下面çš?/span>modules目录中ã€?/span>

 äº”.修改Tomcat讄¡½®

     åœ?/span>tomcatçš?/span>conf目录下徏一ä¸?/span>workers.properties的文本文ä»Óž¼Œæ·ÕdŠ å¦‚ä¸‹é…ç½®

 

     workers.tomcat_home="tomcat安装目录"

     #è®?/span>mod_jk模块知道Tomcat的安装èµ\å¾?/span>

     workers.java_home="java安装目录"

     #è®?/span>mod_jk模块知道jdk路径

     ps="

     worker.list=ajp13

     #˜q™é‡Œæ˜¯å…³é”®ï¼Œåå­—要和httpd.conf的一致。如果这里改äº?/span>httpd.conf也要攏V€?/span>

     worker.ajp13.port=8009

     #工作端口,tomcatçš?/span>jk监听端口åQŒå¯ä»¥æŸ¥çœ?/span>Server.xml中有port="8009"           

     worker.ajp13.host=localhost

     #Tomcat所在机器,如果安装在与apache不同的机器则需要设¾|?/span>IP

     worker.ajp13.type=ajp13

     #¾cÕdž‹åQŒå¥½åƒä¸èƒ½æ”¹åQŒä¼šå‡ºé—®é¢?/span>

     worker.ajp13.lbfactor=1

     #负蝲òqŒ™¡¡å› å­   

 

六.修改Apache讄¡½®

修改apache安装目录�/span>conf目录下的httpd.conf,增加如下配置

 

  LoadModule jk_module modules/mod_jk-apache-2.2.4.so

       JkWorkersFile "tomcat安装目录/conf/workers.properties"

   ã€€JkLogFile "apache安装目录/logs/mod_jk.log"

 

      JkMount /*.jsp ajp13

      JkMount /*.do ajp13

七.整合操作说明

  mod_jk-apache-2.2.4.so相当于是apacheä¸?/span>tomcatä¹‹é—´çš„æ¡¥æ¢ä¸€æ øP¼Œæ‰€ä»¥åœ¨apache的配¾|®æ–‡ä»¶ä¸‹é¢åŠ ä¸?/span>LoadModule jk_module modules/mod_jk-apache-2.2.4.so ž®†æ­¤æ¨¡å—载入ã€?/span>

JkWorkersFile "tomcat安装目录/conf/workers.properties" 说明äº?/span>mod_jk-apache-2.2.4.so 如何工作åQŒå½“出现要è{发时åQŒå°†è¯äh±‚发送到那里˜q›è¡Œå¤„理åQŒä»£è¡¨äº†ä¸€¾pÕdˆ—的工作参数ã€?/span>

JkLogFile "apache安装目录/logs/mod_jk.log"ã€€è®‘Ö®šæ—¥å¿—çš„åœ°å€ã€?/span>

JkMount 说明了将什么样çš?/span>URL˜q›è¡Œå‘送到tomcat˜q›è¡Œå¤„理ã€?/span>JkMount /*.jsp ajp13 说明了要ž®?/span>jspè¯äh±‚发到tomcat,JkMount /*.do ajp13说明了要ž®?/span>.do型的servlet发到tomcat˜q›è¡Œå¤„理。在实际的分发中åQŒå¦‚æž?/span>servlet命名不带后缀的话åQŒå°†æ— æ³•被识别,也就无法˜q›è¡Œå¤„理ã€?/span>

八.¾l“束è¯?/span>

在查阅了不少文章之后åQŒæˆ‘仔细的了解了下这两者进行整合的˜q‡ç¨‹åQŒç½‘上很多文章讲的整合应该不½Ž—æ˜¯çœŸæ­£æ„ä¹‰ä¸Šé¢çš„æ•´åˆï¼Œå¸Œæœ›æ­¤æ–‡ç« èƒ½å¤ŸäØ“æ­£äØ“˜q™äº›é—®é¢˜è‹¦æ¼çš„同行们解决一点小困难……ã€?/span>

如果在整合过½E‹ä¸­æˆ–者需要整å?/span>apache,tomcat,iisåQˆä¸‹½‹‡æ–‡ç« å°†è®²è¿°åQ‰å¯ä»¥ç»™æˆ‘发邮äšgåQ?br />
     zhangwenlong73@gmail.com



Zhangwenlong 2008-02-02 10:04 发表评论
]]>
hibernateTemplatehttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/25/155981.htmlZhangwenlongZhangwenlongThu, 25 Oct 2007 15:35:00 GMThttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/25/155981.htmlhttp://www.aygfsteel.com/zhangwenlong/comments/155981.htmlhttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/25/155981.html#Feedback0http://www.aygfsteel.com/zhangwenlong/comments/commentRss/155981.htmlhttp://www.aygfsteel.com/zhangwenlong/services/trackbacks/155981.html

回调:           hibernateTemplate. execute(new HibernateCallback() {
                            public Object doInHibernate(Session session)
                                    throws HibernateException, SQLException {
                                    //doSomething
                                     }
                        }åQ‰ï¼›


Zhangwenlong 2007-10-25 23:35 发表评论
]]>
HibernateTemplate的常规用æ³?/title><link>http://www.aygfsteel.com/zhangwenlong/archive/2007/10/25/155976.html</link><dc:creator>Zhangwenlong</dc:creator><author>Zhangwenlong</author><pubDate>Thu, 25 Oct 2007 15:08:00 GMT</pubDate><guid>http://www.aygfsteel.com/zhangwenlong/archive/2007/10/25/155976.html</guid><wfw:comment>http://www.aygfsteel.com/zhangwenlong/comments/155976.html</wfw:comment><comments>http://www.aygfsteel.com/zhangwenlong/archive/2007/10/25/155976.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zhangwenlong/comments/commentRss/155976.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zhangwenlong/services/trackbacks/155976.html</trackback:ping><description><![CDATA[<div id="wmqeeuq" class="postText"> <p style="text-indent: 21pt; line-height: 15.7pt">HibernateTemplate<span style="font-family: 宋体">提供非常多的常用æ–ÒŽ(gu¨©)³•来完成基本的操作åQŒæ¯”如通常的增加、删除、修攏V€æŸ¥è¯¢ç­‰æ“ä½œåQ?/span>Spring 2.0<span style="font-family: 宋体">更增加对命名</span>SQL<span style="font-family: 宋体">查询的支持,也增加对分页的支持。大部分情况下,使用</span>Hibernate<span style="font-family: 宋体">的常规用法,ž®±å¯å®Œæˆå¤§å¤šæ•?/span>DAO<span style="font-family: 宋体">对象çš?/span>CRUD<span style="font-family: 宋体">操作。下面是</span>HibernateTemplate<span style="font-family: 宋体">的常用方法简介:</span></p> <p><span style="font-family: Wingdings">q<span style="font: 7pt 'Times New Roman'">      </span></span>void delete(Object entity)<span style="font-family: 宋体">åQšåˆ é™¤æŒ‡å®šæŒä¹…化实例</span></p> <p><span style="font-family: Wingdings">q<span style="font: 7pt 'Times New Roman'">      </span></span>deleteAll(Collection entities)<span style="font-family: 宋体">åQšåˆ é™¤é›†åˆå†…全部持久化类实例</span></p> <p><span style="font-family: Wingdings">q<span style="font: 7pt 'Times New Roman'">      </span></span>find(String queryString)<span style="font-family: 宋体">åQšæ ¹æ?/span>HQL<span style="font-family: 宋体">查询字符串来˜q”回实例集合</span></p> <p><span style="font-family: Wingdings">q<span style="font: 7pt 'Times New Roman'">      </span></span>findByNamedQuery(String queryName)<span style="font-family: 宋体">åQšæ ¹æ®å‘½åæŸ¥è¯¢è¿”å›žå®žä¾‹é›†å?/span></p> <p><span style="font-family: Wingdings">q<span style="font: 7pt 'Times New Roman'">      </span></span>get(Class entityClass, Serializable id)<span style="font-family: 宋体">åQšæ ¹æ®ä¸»é”®åŠ è½½ç‰¹å®šæŒä¹…åŒ–¾cȝš„实例</span></p> <p><span style="font-family: Wingdings">q<span style="font: 7pt 'Times New Roman'">      </span></span>save(Object entity)<span style="font-family: 宋体">åQšä¿å­˜æ–°çš„实ä¾?/span></p> <p><span style="font-family: Wingdings">q<span style="font: 7pt 'Times New Roman'">      </span></span>saveOrUpdate(Object entity)<span style="font-family: 宋体">åQšæ ¹æ®å®žä¾‹çŠ¶æ€ï¼Œé€‰æ‹©ä¿å­˜æˆ–è€…æ›´æ–?/span></p> <p><span style="font-family: Wingdings">q<span style="font: 7pt 'Times New Roman'">      </span></span>update(Object entity)<span style="font-family: 宋体">åQšæ›´æ–°å®žä¾‹çš„çŠ¶æ€ï¼Œè¦æ±‚</span>entity<span style="font-family: 宋体">是持久状æ€?/span></p> <p><span style="font-family: Wingdings">q<span style="font: 7pt 'Times New Roman'">      </span></span>setMaxResults(int maxResults)<span style="font-family: 宋体">åQšè®¾¾|®åˆ†™å늚„大小</span></p> <p style="margin-left: 21.25pt; text-indent: 0cm"><span style="font-family: 宋体">下面是一个完æ•?/span>DAO<span style="font-family: 宋体">¾cÈš„æºä»£ç ï¼š</span></p> <p>public class PersonDAOHibernate implements PersonDAO</p> <p>{</p> <p style="text-align: left" align="left">    //<span style="font-family: 黑体">采用</span>log4j<span style="font-family: 黑体">来完成调试时的日志功èƒ?/span></p> <p style="text-indent: 21pt">private static Log log = LogFactory.getLog(NewsDAOHibernate.class);</p> <p>    //<span style="font-family: 黑体">以私有的成员变量来保å­?/span>SessionFactory<span style="font-family: 黑体">ã€?/span></p> <p style="text-indent: 21pt">private SessionFactory sessionFactory;</p> <p style="text-indent: 21pt">//<span style="font-family: 黑体">以私有变量的方式保存</span>HibernateTemplate</p> <p style="text-indent: 21pt">private HibernateTemplate hibernateTemplate = null;</p> <p>         //<span style="font-family: 黑体">讑ր¼æ³¨å…?/span>SessionFactory<span style="font-family: 黑体">必需çš?/span>setter<span style="font-family: 黑体">æ–ÒŽ(gu¨©)³•</span></p> <p>    public void setSessionFactory(SessionFactory sessionFactory) </p> <p style="text-indent: 21pt">{</p> <p>           this.sessionFactory = sessionFactory;</p> <p>    }</p> <p>         //<span style="font-family: 黑体">初始化本</span>DAO<span style="font-family: 黑体">所需çš?/span>HibernateTemplate</p> <p style="text-indent: 21pt">public HIbernateTemplate getHibernateTemplate() </p> <p style="text-indent: 21pt">{</p> <p style="text-indent: 21pt">         //<span style="font-family: 黑体">首先åQŒæ£€æŸ¥åŽŸæ¥çš„</span>hibernateTemplate<span style="font-family: 黑体">实例是否˜q˜å­˜åœ?/span></p> <p style="text-indent: 21pt">         if ( hibernateTemplate == null)</p> <p style="text-indent: 21pt">         {</p> <p style="text-indent: 21pt">                   //<span style="font-family: 黑体">如果不存在,新徏一ä¸?/span>HibernateTemplate<span style="font-family: 黑体">实例</span></p> <p style="text-indent: 21pt">                   hibernateTemplate = new HibernateTemplate(sessionFactory);</p> <p style="text-indent: 21pt">         }</p> <p style="text-indent: 21pt">         return hibernateTemplate;</p> <p style="text-indent: 21pt">}</p> <p>         //<span style="font-family: 黑体">˜q”回全部的äh的实ä¾?/span></p> <p>    public List getPersons()</p> <p>         {        </p> <p>                   //<span style="font-family: 黑体">通过</span>HibernateTemplate<span style="font-family: 黑体">çš?/span>find<span style="font-family: 黑体">æ–ÒŽ(gu¨©)³•˜q”回</span>Person<span style="font-family: 黑体">的全部实ä¾?/span></p> <p>           return getHibernateTemplate().find("from Person");</p> <p>    }</p> <p>         /**</p> <p>          * <span style="font-family: 黑体">æ ÒŽ(gu¨©)®ä¸»é”®˜q”回特定实例</span></p> <p>          * @ return <span style="font-family: 黑体">特定主键对应çš?/span>Person<span style="font-family: 黑体">实例</span></p> <p>          * @ param <span style="font-family: 黑体">主键å€?/span></p> <p>    public News getNews(int personid)</p> <p>         {</p> <p>           return (Person)getHibernateTemplate().get(Person.class, new Integer(personid));</p> <p>    }</p> <p>         /**</p> <p>          * @ person <span style="font-family: 黑体">需要保存的</span>Person<span style="font-family: 黑体">实例</span></p> <p>          */</p> <p>    public void savePerson(Person person)</p> <p>         {                 </p> <p>                   getHibernateTemplate().saveOrUpdate(person);</p> <p>    }</p> <p>         /**</p> <p>          * @ param personid <span style="font-family: 黑体">需要删é™?/span>Person<span style="font-family: 黑体">实例的主é”?/span></p> <p>          * /</p> <p>    public void removePerson(int personid)</p> <p>         {</p> <p>                   //<span style="font-family: 黑体">先加载特定实ä¾?/span></p> <p>           Object p = getHibernateTemplate().load(Person.class, new Integer(personid));</p> <p>                   //<span style="font-family: 黑体">删除特定实例</span></p> <p>           getHibernateTemplate().delete(p);</p> <p>    }</p> <p>}</p> </div> <img src ="http://www.aygfsteel.com/zhangwenlong/aggbug/155976.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zhangwenlong/" target="_blank">Zhangwenlong</a> 2007-10-25 23:08 <a href="http://www.aygfsteel.com/zhangwenlong/archive/2007/10/25/155976.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HSQL DBhttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/20/154577.htmlZhangwenlongZhangwenlongSat, 20 Oct 2007 14:47:00 GMThttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/20/154577.htmlhttp://www.aygfsteel.com/zhangwenlong/comments/154577.htmlhttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/20/154577.html#Feedback0http://www.aygfsteel.com/zhangwenlong/comments/commentRss/154577.htmlhttp://www.aygfsteel.com/zhangwenlong/services/trackbacks/154577.html http://www.hsqldb.org/
然后建立一个文件夹,比如D:"hsqldb,在hsqldb目录下徏立dataåQŒlib两个子文件夹åQ?br /> ž®†è§£åŽ‹åŽçš„lib目录下的hsqldb.jaræ–‡äšgcopyåˆ?D:"hsqldb"lib 目录下,  
ž®†è§£åŽ‹åŽçš„demo目录下的runServer.batå’ŒrunManagerSwing.batæ–‡äšgcopyåˆ?D:"hsqldb 目录下,

2.
修改runServer.batæ–‡äšg的内容如下:
cd data
@java 
-classpath ../lib/hsqldb.jar org.hsqldb.Server %1 %2 %3 %4 %5 %6 %7 %8 %9

修改runManagerSwing.batæ–‡äšg的内容如下:
cd data

@java -classpath ../lib/hsqldb.jar org.hsqldb.util.DatabaseManagerSwing %1 %2 %3 %4 %5 %6 %7 %8 %9

3.先运行runServer.batåQŒå¯åЍHSQLDB server,
接着˜qè¡ŒrunManagerSwing.bat, 先弹出cmd½H—口åQŒæŽ¥ç€å¼¹å‡ºConnect½H—口åQ?br /> ž®†Connect½H—口的Type选项讄¡½®ä¸?HSQL Database Engine ServeråQŒæŒ‰ok˜qžæŽ¥åˆ°dbåQŒè¿›å…¥HSQL Database Manager½H—口ã€?br /> ˜q™æ—¶æŸ¥çœ‹data目录下,发现生成4个文ä»Óž¼štest.lck, test.log, test.properties, test.script

4.在HSQL Database Manager中execute下面sql 后,
create table test(id bigint , name varchar , remark varchar);
insert into test(id,name,remark)values(1,'admin','this is remark!');

�test.log 中出现内容:
/*C2*/SET SCHEMA PUBLIC
CONNECT USER SA
create table test(id bigint , name varchar , remark varchar)
INSERT INTO TEST VALUES(1,'admin','this is remark!')

HSQL db中的数据ž®±æ˜¯å‚¨å­˜åœ¨è¿™ä¸ªtest.logæ–‡äšg中的ã€?br />
5.在hsqldb目录下徏立一javaæ–‡äšgåQŒå†…容如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import org.hsqldb.jdbcDriver;

public class HsqlDemo{
    
public static void main(String[] args){
        
try {
            Class.forName(
"org.hsqldb.jdbcDriver" );            
            Connection c 
= DriverManager.getConnection("jdbc:hsqldb:hsql://localhost""sa""");
            
if(c != null){
                System.out.println(
"Connected db success!");
                String sql 
= "CREATE TABLE T_USER(ID BIGINT,NAME VARCHAR,BIRTHDAY DATE);";
                Statement st 
= c.createStatement();
                st.execute(sql);
                sql 
= "INSERT INTO T_USER(ID,NAME,BIRTHDAY)VALUES('1','ADMIN',SYSDATE);";
                st.executeUpdate(sql);
                
if(st != null){
                    st.close();
                }
                c.close();
            }

        } 
catch (Exception e) {
            System.out.println(
"ERROR: failed to load HSQLDB JDBC driver.");
            e.printStackTrace();
            
return;
        }

    }
}

再徏立一test.batæ–‡äšgåQŒå†…容如下(注意配置pathä¸ÞZ½ jdk的安装èµ\径)åQ?br />
@echo off
set path=D:Program FilesJavajdk1.5.0_07bin
javac 
-classpath lib/hsqldb.jar HsqlDemo.java
java 
-cp lib/hsqldb.jar;./ HsqlDemo

˜qè¡Œtest.batæ–‡äšg后,åœ?HSQL Database Manager½H—口选择ViewåQŒRefresh tree    åQŒå¯ä»¥å‘现已¾lå¤šäº†T_USER˜q™ä¸ªè¡¨ï¼Œòq¶ä¸”表里面已有一条记录ã€?br />
6. 退出HSQL Database Manager, 到Hsql Db çš„cmd½H—口åQŒæŒ‰Ctrl+C¾l“束DBã€?br /> 在hsqldb目录下徏立server.propertiesåQŒå†…容如下:

server.port=9394
server.database.0=file:data/mydb9394
server.dbname.0=mydb
server.silent=true

建立runServer2.batåQŒå†…容如下:
@java -classpath lib/hsqldb.jar org.hsqldb.Server %1 %2 %3 %4 %5 %6 %7 %8 %9

˜q™æ—¶˜qè¡ŒrunServer2.bat,则会在data目录下创建mydb9394.propertiesåQŒmydb9394.logåQŒmydb9394.lck三个文äšgåQ?br /> 再运行runManagerSwing.batåQŒå¼¹å‡ºConnect½H—口åQŒè¿™æ—‰™œ€è¦å°†
Type选项讄¡½®ä¸?HSQL Database Engine Server
URL 处设¾|®äØ“ jdbc:hsqldb:hsql://localhost:9394/mydb
按ok卛_¯˜qžæŽ¥db˜q›å…¥ HSQL Database Manager界面ã€?br />

7. Table的数据类�/span>

Name

Range

Java Type

INTEGER | INT

as Java type

int | java.lang.Integer

DOUBLE [PRECISION] | FLOAT

as Java type

double | java.lang.Double

VARCHAR

as Integer.MAXVALUE

java.lang.String

VARCHAR_IGNORECASE

as Integer.MAXVALUE

java.lang.String

CHAR | CHARACTER

as Integer.MAXVALUE

java.lang.String

LONGVARCHAR

as Integer.MAXVALUE

java.lang.String

DATE

as Java type

java.sql.Date

TIME

as Java type

java.sql.Time

TIMESTAMP | DATETIME

as Java type

java.sql.Timestamp

DECIMAL

No limit

java.math.BigDecimal

NUMERIC

No limit

java.math.BigDecimal

BOOLEAN | BIT

as Java type

boolean | java.lang.Boolean

TINYINT

as Java type

byte | java.lang.Byte

SMALLINT

as Java type

short | java.lang.Short

BIGINT

as Java type

long | java.lang.Long

REAL

as Java type

double | java.lang.Double[1]

BINARY

as Integer.MAXVALUE

byte[]

VARBINARY

as Integer.MAXVALUE

byte[]

LONGVARBINARY

as Integer.MAXVALUE

byte[]

OTHER | OBJECT

as Integer.MAXVALUE

java.lang.Object



Zhangwenlong 2007-10-20 22:47 发表评论
]]>
HQLhttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/19/154243.htmlZhangwenlongZhangwenlongFri, 19 Oct 2007 07:59:00 GMThttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/19/154243.htmlhttp://www.aygfsteel.com/zhangwenlong/comments/154243.htmlhttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/19/154243.html#Feedback0http://www.aygfsteel.com/zhangwenlong/comments/commentRss/154243.htmlhttp://www.aygfsteel.com/zhangwenlong/services/trackbacks/154243.htmlHQL本èín不區分大ž®å¯«åQŒä¸éŽè¦æ³¨æ„™åžåˆ¥çš„名½E±å¿…須區分大ž®å¯«ã€?br />
在查詢類別對應的表格時,需注意到繼承的問題åQŒHibernate會自動判定繼扉K—œä¿‚,如果查詢的類別是某類別的爉™¡žåˆ¥ï¼Œå‰‡æœƒ˜q”回與父™åžåˆ¥ã€å­™åžåˆ¥ž®æ‡‰çš„æ‰€æœ‰è¡¨æ ÆD³‡æ–™ï¼Œä¾‹å¦‚如果查詢java.lang.ObjectåQŒç”±æ–¼Object在Java中是所有類別的爉™¡žåˆ¥ï¼Œæ‰€ä»¥ä¸‹é¢é€™å€‹æŸ¥è©¢æœƒ˜q”回資料庫中所有表格的資料åQ?br />
Query query = session.createQuery("from java.lang.Object");


Zhangwenlong 2007-10-19 15:59 发表评论
]]>
珊瑚è™?/title><link>http://www.aygfsteel.com/zhangwenlong/archive/2007/10/18/153850.html</link><dc:creator>Zhangwenlong</dc:creator><author>Zhangwenlong</author><pubDate>Thu, 18 Oct 2007 05:15:00 GMT</pubDate><guid>http://www.aygfsteel.com/zhangwenlong/archive/2007/10/18/153850.html</guid><wfw:comment>http://www.aygfsteel.com/zhangwenlong/comments/153850.html</wfw:comment><comments>http://www.aygfsteel.com/zhangwenlong/archive/2007/10/18/153850.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zhangwenlong/comments/commentRss/153850.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zhangwenlong/services/trackbacks/153850.html</trackback:ping><description><![CDATA[<a target="_blank"><img src="http://www.helpsoff.com.cn/images/banner700100.gif" border="0" alt="声援SOFF|å£°æ´çŠç‘šè™«ï¼šå¦‚æžœä½ æ˜¯çŠç‘šè™«ç”¨æˆøP¼Œè¯·åšå†›_Š›æŒºå£°æ´çŠç‘šè™«åQ? /></a><img src ="http://www.aygfsteel.com/zhangwenlong/aggbug/153850.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zhangwenlong/" target="_blank">Zhangwenlong</a> 2007-10-18 13:15 <a href="http://www.aygfsteel.com/zhangwenlong/archive/2007/10/18/153850.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ant基础http://www.aygfsteel.com/zhangwenlong/archive/2007/10/16/153324.htmlZhangwenlongZhangwenlongTue, 16 Oct 2007 09:01:00 GMThttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/16/153324.htmlhttp://www.aygfsteel.com/zhangwenlong/comments/153324.htmlhttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/16/153324.html#Feedback0http://www.aygfsteel.com/zhangwenlong/comments/commentRss/153324.htmlhttp://www.aygfsteel.com/zhangwenlong/services/trackbacks/153324.html<?xml version="1.0"?>
<project name="build.xml" default="build">
 <property name="src.java.dir" location="src"/>
 <property name="build.classes.dir" location="build"/>

 <path id="project.classpath">
  <pathelement location="${build.classes.dir}"/>
 </path>

 <target name="init">
  <mkdir dir="${build.classes.dir}"/>
 </target>
 <target name="compile" depends="init">
  <javac srcdir="${src.java.dir}" destdir="${build.classes.dir}">
   <include name="**/EventCodooba.java"/>
  </javac>
 </target>
 <target name="build" depends="compile">
  <java classname="com.codooba.EventCodooba.EventCodooba" failonerror="true">
   <classpath refid="project.classpath"/>
  </java>
  <echo>If you see this, it works!!!</echo>
 </target>
</project>



Zhangwenlong 2007-10-16 17:01 发表评论
]]>
Hibernate Query对象http://www.aygfsteel.com/zhangwenlong/archive/2007/10/11/152145.htmlZhangwenlongZhangwenlongThu, 11 Oct 2007 12:59:00 GMThttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/11/152145.htmlhttp://www.aygfsteel.com/zhangwenlong/comments/152145.htmlhttp://www.aygfsteel.com/zhangwenlong/archive/2007/10/11/152145.html#Feedback2http://www.aygfsteel.com/zhangwenlong/comments/commentRss/152145.htmlhttp://www.aygfsteel.com/zhangwenlong/services/trackbacks/152145.html 可以透过org.hibernate.Query介面的实例来˜q›è¡ŒæŸ¥è¯¢åQŒé€è¿‡Query介面åQŒæ?zh¨¨n)¨å¯ä»¥å…ˆè®¾å®šæŸ¥è¯¢å‚敎ͼŒä¹‹åŽé€è¿‡setXXX()½{‰æ–¹æ³•,ž®†æŒ‡å®šçš„参数值填入,而不用每‹Æ¡éƒ½æ’°å†™å®Œæ•´çš„HQLåQŒç›´æŽ¥æ¥çœ‹ä¸ªä¾‹å­åQ?
Session session = sessionFactory.openSession();
Query query = session.createQuery("select user.name from User as user where user.age > ?");
query.setInteger(0, 25);

List names = query.list();
Iterator iterator =  names.iterator();
while(iterator.hasNext()) {
    System.out.println(iterator.next());
}

session.close();

在设定参数值时åQŒå¿…™åÖM¾ç…?? 所讑֮šçš„顺序,òq¶ä‹É用对应型态的setXXX()æ–ÒŽ(gu¨©)³•åQŒä¸€ä¸ªæ‰§è¡Œçš„例子如下åQ?

Hibernate: select user0_.name as col_0_0_ from user user0_ where user0_.age>?
momor
caterpillar
bush

æ‚(zh¨¨n)¨å¯ä»¥ä‹É用命名参敎ͼˆNamed ParameteråQ‰æ¥å–代˜q™ä¸ªæ–ÒŽ(gu¨©)³•åQŒè¿™å¯ä»¥ä¸ç”¨ä¾ç…§ç‰¹å®šçš„顺序来讑֮šå‚æ•°å€û|¼Œòq¶æ‹¥æœ‰è¾ƒå¥½çš„可读性,直接来看个例子:
Session session = sessionFactory.openSession();
Query query = session.createQuery("select user.name from User as user where user.age > :minAge");
query.setInteger("minAge", 25);

List names = query.list();
Iterator iterator =  names.iterator();
while(iterator.hasNext()) {
    System.out.println(iterator.next());
}

session.close();


讑֮šå‘½åå‚æ•°æ—Óž¼Œåœ¨å¾ç«‹Query时先使用:后跟着参数名,之后ž®±å¯ä»¥åœ¨setXXX()æ–ÒŽ(gu¨©)³•中直接指定参数名来设定参数å€û|¼Œè€Œä¸ç”¨ä¾ç…§ç‰¹å®šçš„™åºåºã€?


Zhangwenlong 2007-10-11 20:59 发表评论
]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ÌïÁÖÏØ| ÃϽòÏØ| ÇìÔªÏØ| ˾·¨| °×³ÇÊÐ| ÉÏÓÌÏØ| »¨Á«ÊÐ| ƽÓßÏØ| Âé½­ÏØ| ¼Î¶¨Çø| ÐÂÌ©ÊÐ| ³¤ÁëÏØ| ¹È³ÇÏØ| ÎäÒÄɽÊÐ| ¸®¹ÈÏØ| ÆÁ¶«ÏØ| ÓñϪÊÐ| ÆÁÉ½ÏØ| ʲÚúÊÐ| ÄÏÏªÏØ| ÔæÑôÊÐ| ÓÀ¼ªÏØ| ÑγØÏØ| Ìì¶ëÏØ| ·Ê¶«ÏØ| °ÍÁÖ×óÆì| ³à³ÇÏØ| ÓñÃÅÊÐ| ÒÊÄÏÏØ| ÇàÍ­Ï¿ÊÐ| ÏæÌ¶ÊÐ| ÌÆº£ÏØ| ºÓÔ´ÊÐ| ¶¨ÐËÏØ| ÐÅ·áÏØ| ´Ó»¯ÊÐ| ÓÀ¼ÃÊÐ| ÄϲýÊÐ| ɽ¶«Ê¡| ÀàÎÚÆëÏØ| ¹ãºÓÏØ|