隨筆 - 16  文章 - 0  trackbacks - 0
          <2012年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿

          隨筆檔案

          友情鏈接

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          第一步、配置實體Bean:
          @Entity
          @Table(name = "t_bd_city")
          public class City extends BaseObject {
             
              /**
               * 省份
               */
              @ManyToOne(fetch = FetchType.LAZY)
              @JoinColumn(name = "fprovinceid")
              private Province province;
          }

          第二步、手動提交保存方法:

          public abstract class CoreDaoHibernate<Entity extends CoreObject> implements CoreObjectDao<Entity> {

              /**
               * Log variable for all child classes. Uses LogFactory.getLog(getClass())
               * from Commons Logging
               */
              protected final Log log = LogFactory.getLog(getClass());
              private Class<Entity> persistentClass ;
              private HibernateTemplate hibernateTemplate;
              private SessionFactory sessionFactory;


              public CoreDaoHibernate(){
                  Class<?> c = this.getClass();
                  Type t = c.getGenericSuperclass();
                  if(t instanceof ParameterizedType){
                     this.persistentClass =  (Class<Entity>)((ParameterizedType) t).getActualTypeArguments()[0];
                  }
              }

              public HibernateTemplate getHibernateTemplate() {
                  return this.hibernateTemplate;
              }

              public SessionFactory getSessionFactory() {
                  return this.sessionFactory;
              }

              @Autowired
              @Required
              public void setSessionFactory(SessionFactory sessionFactory) {
                  this.sessionFactory = sessionFactory;
                  this.hibernateTemplate = new HibernateTemplate(sessionFactory);
              }

              /**
               * {@inheritDoc}
               */
              @Override
              public Entity save(Entity object) {
                  Entity result =  hibernateTemplate.merge(object);
                  hibernateTemplate.flush();
                  return result;
              }
          }

          第三步、配置web.xml
             <filter>
                  <filter-name>lazyLoadingFilter</filter-name>
                  <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
                  <init-param>
                      <param-name>sessionFactoryBeanName</param-name>
                      <param-value>sessionFactory</param-value>
                  </init-param>
                  <init-param>
                      <param-name>singleSession</param-name>
                      <param-value>true</param-value>           
                  </init-param>
                  <init-param>
                      <param-name>flushMode</param-name>
                      <param-value>AUTO</param-value>        
                  </init-param>
              </filter>
            <filter-mapping>
                  <filter-name>lazyLoadingFilter</filter-name>
                  <url-pattern>/*</url-pattern>
              </filter-mapping>

          posted @ 2012-06-18 23:24 民工二代 閱讀(314) | 評論 (0)編輯 收藏
               摘要: 在線創建Oracle分區表
          第一步,檢查源表是否可以在線重定義;
          第二步、創建一張分區表做為中間表;
          第三步、拷備源表中的記錄;
          第四步、同步更新數據;
          第五步、轉換完成  閱讀全文
          posted @ 2012-06-18 09:23 民工二代 閱讀(353) | 評論 (0)編輯 收藏
          最近因為開發需要,自己做了一個小的Demo部署在網上,具體網址http://www.17chuxing.com,實現一個類似公交查詢的功能,目前基本上能夠正常運行。

          現在總結一下,以便以后查詢使用;
          一、技術方面
               1、demo的整體技術結構采用比較簡單的Struts+spring+hibernate,struts 可以定義全局的異常、返回值、攔截器,hibernate采用統一的Spring-hibernate模板進行數據提交,減少開發量。如果采用hiberante懶加載方式,需要手工flush(),web.xml需要增加lazyLoadingFilter;
              <filter>
                  <filter-name>lazyLoadingFilter</filter-name>
                  <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
              </filter>
               2、數據量較小采用了mySql作為數據庫,采用mysql需要注意的是早期的mysql版本,表名區分大小寫,a 與A的結果不一樣;
               3、在展現層方面采用sitemesh裝飾器對展現的頁面進行渲染(包括樣式、頁頭、頁腳、統計代碼),保證每個網頁的風格一致性,并且可以減少一定開發工作量;
                  <filter>
                      <filter-name>sitemesh</filter-name>
                      <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
                  </filter>

               4、采用gzipFilter對請求進行壓縮,減少每次請求所需網絡流量;
                  <filter>
                      <filter-name>gzipFilter</filter-name>
                      <filter-class>net.sf.ehcache.constructs.web.filter.GzipFilter</filter-class>
                  </filter>
               5、首頁盡可能減少跳轉(redirect),因為每次跳轉都需要一定的時間;

          二、部署流程
               1、申請域名
               2、選擇虛擬機托管商
               3、部署程序
               4、申請備案

          三、其他方面;
                1、向搜索引擎提交網站
                2、其它思考點,通過rewrite 技術實現反寫,生成相應的靜態文件;
          <filter>
                  <filter-name>rewriteFilter</filter-name>
                  <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
                  <!-- sets up log level (will be logged to context log)
                      can be: TRACE, DEBUG, INFO (default), WARN, ERROR, FATAL, log4j, commons, sysout:{level} (ie, sysout:DEBUG)
                      if you are having trouble using normal levels use sysout:DEBUG -->
                  <init-param>
                      <param-name>logLevel</param-name>
                      <param-value>commons</param-value>
                  </init-param>
                  <!-- set the amount of seconds the conf file will be checked for reload
                      can be a valid integer (0 denotes check every time,
                      -1 denotes no reload check, default -1) -->
                  <init-param>
                      <param-name>confReloadCheckInterval</param-name>
                      <param-value>-1</param-value>
                  </init-param>
              </filter>
          posted @ 2012-04-25 13:16 民工二代 閱讀(521) | 評論 (0)編輯 收藏
          主站蜘蛛池模板: 桐柏县| 资溪县| 炎陵县| 电白县| 东平县| 海兴县| 华池县| 东乡县| 武定县| 澳门| 三江| 利津县| 沅陵县| 华蓥市| 巫山县| 潢川县| 科尔| 镇巴县| 耒阳市| 新安县| 庐江县| 招远市| 贵德县| 贡觉县| 安福县| 天津市| 龙里县| 东至县| 永宁县| 集贤县| 城口县| 台北县| 进贤县| 荔波县| 河北省| 平遥县| 明光市| 呼玛县| 横峰县| 余干县| 定南县|