風(fēng)人園

          弱水三千,只取一瓢,便能解渴;佛法無(wú)邊,奉行一法,便能得益。
          隨筆 - 99, 文章 - 181, 評(píng)論 - 56, 引用 - 0
          數(shù)據(jù)加載中……

          遍歷所有數(shù)據(jù)文件的大小

           

          1、新建一個(gè)臨時(shí)數(shù)據(jù)庫(kù),用于存放查詢(xún)結(jié)果
          CREATE TABLE DatabaseFileLog
          (
           date DATETIME,
           dbname VARCHAR(20),
           FILENAME VARCHAR(100),
           fileSIZE FLOAT
           
          )


          2、通過(guò)游標(biāo)遍歷所有數(shù)據(jù)庫(kù)
          declare @dbName varchar(50)
          declare @command varchar(1024)
          declare dbName_cursor CURSOR FOR
              select [name]
              from master.dbo.sysdatabases
              where [name] not in ('master','tempdb','msdb','model')
          open dbName_cursor
          FETCH NEXT FROM dbName_cursor INTO @dbName
          WHILE @@FETCH_STATUS = 0
          begin
              set @command = '
                  insert into DatabaseFileLog
                  select
                  getdate(),
                  '''+
                  @dbName
                  +''',

                  filename,
                  convert(float,size) * (8192.0/1024.0)/1024.0 as ''MB''

                  from '+@dbName +'.dbo.sysfiles ';
              exec ( @command );
              FETCH NEXT FROM dbName_cursor INTO @dbName ;
          end
          CLOSE dbName_cursor;
          DEALLOCATE dbName_cursor;

          3、查詢(xún)結(jié)果
          SELECT * FROM DatabaseFileLog

          posted @ 2011-09-06 10:46 風(fēng)人園 閱讀(211) | 評(píng)論 (0)編輯 收藏

          eclipse 注釋模版 設(shè)置


          設(shè)置注釋模板的入口: Window->Preference->Java->Code Style->Code Template 然后展開(kāi)Comments節(jié)點(diǎn)就是所有需設(shè)置注釋的元素啦。

          常用的,一般兩個(gè)

          文件(Files)注釋標(biāo)簽:

          /**  
          * @Title: ${file_name}
          * @Package ${package_name}
          * @Description: ${todo}(用一句話描述該文件做什么)
          * @author A18ccms A18ccms_gmail_com  
          * @date ${date} ${time}
          * @version V1.0  
          */


          類(lèi)型(Types)注釋標(biāo)簽(類(lèi)的注釋?zhuān)?br />

          /**
          * @Description: ${todo}(這里用一句話描述這個(gè)類(lèi)的作用)
          * @author ${user}
          * @date ${date} ${time}
          *
          * ${tags}
          */

          posted @ 2011-08-18 16:30 風(fēng)人園 閱讀(357) | 評(píng)論 (0)編輯 收藏

          Spring MVC 使用中的注意事項(xiàng)

              ModelAndView中保存了要傳遞給視圖的對(duì)象和具體要使用的視圖文件,自2.0起, Spring MVC提供了Convention over Configuration的機(jī)制,大大簡(jiǎn)化了代碼與配置。簡(jiǎn)單地說(shuō),名字以Controller結(jié)尾的控制器類(lèi)都會(huì)被映射為相應(yīng)的地址,ListArticleController對(duì)應(yīng)/listarticle*,如果是MultiActionController則會(huì)被映射為一個(gè)目錄;向ModelAndView添加對(duì)象時(shí)可以不用指定鍵(key),單一對(duì)象的鍵取決于類(lèi)名,比如x.y.User的鍵是user,而某一類(lèi)對(duì)象的 Set、List或數(shù)組則稍有些復(fù)雜,取第一個(gè)對(duì)象的類(lèi)名加上“List”作為它的鍵,比如這里的articles是一個(gè)存放Article對(duì)象的 List,它的鍵就是articleList;
          也可以通過(guò)執(zhí)行key,來(lái)指定變量名稱(chēng)

          posted @ 2010-12-30 15:51 風(fēng)人園 閱讀(384) | 評(píng)論 (0)編輯 收藏

          spring 事務(wù)的回滾問(wèn)題

              spring的事物配置,默認(rèn)狀態(tài)下,只針對(duì) RuntimeException 進(jìn)行回滾。
          而像SQLException并不是RuntimeException,所以這里需要特別注意。

          這里困擾了我很久,一直沒(méi)有想明白為什么在一個(gè)事務(wù)里面,部分成功,部分失敗。可能就是這個(gè)原因?qū)е碌摹?br /> 也就是說(shuō),一些系統(tǒng)級(jí)別的異常,前期都需要轉(zhuǎn)化成 RuntimeException 。這樣就可以進(jìn)行回滾了。

          但是這樣的只需要修改底層,另外一個(gè)偷懶的方法,在每個(gè)service類(lèi)上直接指定rollback = Exception.class。這樣所有的異常都會(huì)回滾。但是這樣有沒(méi)有副作用,但是不清楚。

          異常一直是我沒(méi)有搞定的一塊內(nèi)容之一,稱(chēng)這個(gè)機(jī)會(huì)研究一下。
          為什么需要分check 和unckeck,兩者有什么不動(dòng)點(diǎn)。
          如果都是用uncheck,會(huì)不會(huì)有什么問(wèn)題?
          待續(xù)。。。

          posted @ 2010-12-14 14:01 風(fēng)人園 閱讀(875) | 評(píng)論 (1)編輯 收藏

          hibernate 關(guān)聯(lián)查詢(xún)錯(cuò)誤(Path expected for join)

              以前沒(méi)怎么用,現(xiàn)在真用起來(lái)的時(shí)候還是會(huì)有很多白癡問(wèn)題,哈。
              今天想做一個(gè)left join , 關(guān)聯(lián)關(guān)系應(yīng)該是已經(jīng)配好了,但是調(diào)用hql就是報(bào)錯(cuò),也不知道怎么回事。繼續(xù)研究ing。

          posted @ 2009-12-10 14:00 風(fēng)人園 閱讀(4921) | 評(píng)論 (1)編輯 收藏

          Hibernate主從數(shù)據(jù)的操作

          struts2+spring2.5+hibernate 3.3

          在hibernate的操作中,特別是主從數(shù)據(jù)的操作。

          一般有這么幾個(gè)地方需要注意,以前也一直沒(méi)有拿hibernate好好用過(guò),現(xiàn)在真正用起來(lái),問(wèn)題還是挺多了。這幾天一直在調(diào)試解釋這種問(wèn)題。

          主數(shù)據(jù)中的一對(duì)一關(guān)聯(lián),這里的關(guān)聯(lián)數(shù)據(jù)從頁(yè)面提交的時(shí)候是否可以直接映射到主數(shù)據(jù)對(duì)象中?暫時(shí)不清楚,可以測(cè)試一下。

          然后是明細(xì)數(shù)據(jù)的操作,現(xiàn)在動(dòng)態(tài)產(chǎn)生的行數(shù)據(jù),然后手動(dòng)解析,生成明細(xì)對(duì)象。整個(gè)過(guò)程個(gè)人感覺(jué)比較麻煩,暫時(shí)也想不出有什么好的解決方案。

          這里在級(jí)聯(lián)保存數(shù)據(jù)的時(shí)候,首先要清除掉原來(lái)的明細(xì)數(shù)據(jù),然后再把頁(yè)面提交過(guò)來(lái)的數(shù)據(jù)加上。
          不知道一般是不是這樣弄的。否則沒(méi)法清楚原來(lái)的數(shù)據(jù)。


          posted @ 2009-11-17 19:30 風(fēng)人園 閱讀(364) | 評(píng)論 (0)編輯 收藏

          通過(guò)MyEclipse生成annotation方式的entity類(lèi)

              通過(guò)搜索和閱讀myEclipse的幫助文件,發(fā)現(xiàn)這是可以實(shí)現(xiàn)的。不過(guò)前提是,你使用的hibernate是3.2版本。這樣就可以支持以注解的方式生成實(shí)體類(lèi)了。跟hbm配制文件方式基本是一樣的。

              昨天特地好好的看了一下MyEclipse的幫助,里面關(guān)于ajax web開(kāi)發(fā)的工具感覺(jué)還是挺好用的,以前一直也沒(méi)有了解一下里面的功能,以后要好好用一下,還是可以有不少幫助的。
              今天先起個(gè)頭,明天寫(xiě)一個(gè)詳細(xì)的操作說(shuō)明,這樣也方便自己,免得忘了。

          posted @ 2009-11-15 19:02 風(fēng)人園 閱讀(503) | 評(píng)論 (0)編輯 收藏

          Jxls 導(dǎo)出excel

           1     public static void exportExcel(String templateFileName, Map beans, 
           2             HttpServletRequest request,HttpServletResponse response){
           3         try {
           4             response.setContentType("application/vnd.ms-excel");
           5             response.setHeader("Content-Disposition""attachment; filename=excel.xls");
           6             XLSTransformer transformer = new XLSTransformer();
           7 
           8             
           9             InputStream is = new BufferedInputStream(
          10                     new FileInputStream(RequestUtil.getRealPath(request, templateFileName)));
          11             
          12             HSSFWorkbook workbook = transformer.transformXLS(is, beans);
          13             OutputStream os = response.getOutputStream();
          14             workbook.write(os);
          15             is.close();
          16             os.flush();
          17             os.close();
          18         } catch (Exception e) {
          19             e.printStackTrace();
          20         }
          21     }
          通過(guò)服務(wù)器端獲取模版文件的絕對(duì)路徑,然后通過(guò)response來(lái)輸出到頁(yè)面,就可以實(shí)現(xiàn)導(dǎo)出,這個(gè)比poi等等都簡(jiǎn)單很多,用起來(lái)比較舒服。
          服務(wù)器路徑的獲取:request.getSession().getServletContext().getRealPath(name);
          這樣就可以獲得web目錄下某個(gè)文件的服務(wù)器端路勁。

          今天在使用的時(shí)候發(fā)現(xiàn)一個(gè)問(wèn)題,就是在使用表達(dá)式的時(shí)候有一個(gè)地方需要注意
          ${item.itemQty}
          像上面的這個(gè)表達(dá)式就會(huì)出錯(cuò),這里也沒(méi)有看源代碼,具體不是很清楚,但是看了一下日志,發(fā)現(xiàn),后面的這個(gè)item也被替換了,所以覺(jué)得這個(gè)可能是jxls的bug或者是作者偷懶搞的。

          以后只需要注意字段名不能跟bean的名字一樣,否則就出錯(cuò)。

          僅此記錄

          posted @ 2009-09-21 16:21 風(fēng)人園 閱讀(2738) | 評(píng)論 (1)編輯 收藏

          IronTrackSQL配置

          主要講一下在配置的過(guò)程中出現(xiàn)的問(wèn)題,基本的配置方式網(wǎng)上有很多。
          這里講spring的集成問(wèn)題。
          可能會(huì)出現(xiàn)兩個(gè)問(wèn)題
          1、spring配置:
              

           <bean id="datasourceTarget" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
            <!-- Connection Info -->

           </bean>

              <bean id="dataSource" class="com.p6spy.engine.spy.P6DataSource">
                  <constructor-arg>
                      <ref local="datasourceTarget"/>
                  </constructor-arg>
              </bean>

              這樣就不會(huì)出現(xiàn)說(shuō)找不到合適的驅(qū)動(dòng) 這個(gè)異常。
          2、是p6spy的版本問(wèn)題,導(dǎo)致spring配置文件失敗
              如果使用上面這個(gè)配置,需要1.3版本的p6spy.jar,我用老的,就出現(xiàn)說(shuō)不能創(chuàng)建dataSource,沒(méi)有合適的一個(gè)參數(shù)的構(gòu)造函數(shù)。

          這是今天配置IronTrackSQL出現(xiàn)的兩個(gè)問(wèn)題,讓我折騰了一個(gè)下午,所以記下來(lái)。
          還有一個(gè)問(wèn)題就是
          Warning: Could not instantiate IronTrack server: java.net.BindException: Address already in use: JVM_Bind
          地址占用的問(wèn)題,好像有兩個(gè)server啟動(dòng)了。我重啟一下就會(huì)出現(xiàn)這個(gè)問(wèn)題,第一次啟動(dòng)就沒(méi)有問(wèn)題,暫時(shí)不知道什么原因。
          找到了為什么重復(fù)啟動(dòng)的問(wèn)題,項(xiàng)目啟動(dòng)了兩次,導(dǎo)致后一次啟動(dòng)端口被暫用。
          總的來(lái)說(shuō)還是不錯(cuò)的,但是還搞不清楚怎么正確使用。
          繼續(xù)努力中

          posted @ 2009-09-17 15:46 風(fēng)人園 閱讀(485) | 評(píng)論 (0)編輯 收藏

          代碼質(zhì)量隨想

                  干了這么多年的代碼工,對(duì)于代碼質(zhì)量的理解,個(gè)人認(rèn)為就是一個(gè),可維護(hù)性,除非你開(kāi)發(fā)的東東是一錘子買(mǎi)賣(mài),否則后期的投入會(huì)多的可怕,而且對(duì)于錯(cuò)誤就沒(méi)有辦法控制了

                  下面引用別人的一段話來(lái)說(shuō)明一下什么是高質(zhì)量的代碼:
                          高質(zhì)量的代碼,除了符合產(chǎn)品的功能設(shè)計(jì)需求外,還應(yīng)該便于維護(hù)、執(zhí)行效率高、經(jīng)過(guò)充分測(cè)試并且擁有較好的穩(wěn)定性。

                  但是從我個(gè)人來(lái)講,可維護(hù)性是第一位的,其他都是必須的,沖突的話就應(yīng)該適當(dāng)取舍。便于維護(hù)必然會(huì)影響到一點(diǎn)點(diǎn)的效率,但是這個(gè)肯定是可以接受的。是可以通過(guò)其他方式來(lái)彌補(bǔ)的。
                  不能為了追求所謂的高效,而破壞了系統(tǒng)的維護(hù)性,這樣導(dǎo)致后期維護(hù)會(huì)有很大的問(wèn)題,從而可能導(dǎo)致低效。

                  這里介紹幾個(gè)工具,來(lái)提高代碼質(zhì)量。findbugs就是其中的一個(gè),可以對(duì)代碼提出很好的修改建議。

          purifyplus 一個(gè)運(yùn)行時(shí)檢測(cè)系統(tǒng),可惜不免費(fèi)。


          備注: rational team concert 協(xié)作開(kāi)發(fā)系統(tǒng),集成版本控制、工作項(xiàng)和構(gòu)建

          posted @ 2009-09-02 12:19 風(fēng)人園 閱讀(211) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題
          共10頁(yè): 上一頁(yè) 1 2 3 4 5 6 7 8 9 下一頁(yè) Last 
          主站蜘蛛池模板: 抚州市| 韶山市| 开阳县| 衢州市| 安达市| 浮梁县| 宁夏| 阜城县| 女性| 夏邑县| 福泉市| 平乡县| 麻城市| 荥阳市| 蒲江县| 革吉县| 和政县| 宝应县| 博野县| 固安县| 岫岩| 河北区| 天水市| 木兰县| 旅游| 贵溪市| 营口市| 宁陕县| 金门县| 望谟县| 崇阳县| 叶城县| 石门县| 德惠市| 周宁县| 三台县| 巴塘县| 涞水县| 通化市| 临沭县| 新竹县|