176142998

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            116 Posts :: 0 Stories :: 45 Comments :: 0 Trackbacks

          #

           

          windows7系統的風光。我這幾天也開始玩win7,筆記本系統我都重裝了5-6次了,考慮到win7還不成熟、我又比較喜歡win7,所以考慮使用裝雙系統XP+WIN7,花了2個小時將XPWIN7重新全部安裝,打好補丁,升級,將自己常用的軟件都安裝上

          工作原因需要安裝ORACLE,考慮雙系統中都安裝ORACLE,系統切換之間數據的使用也需要一起切換,考慮XPWIN7都安裝ORACLE軟件,公用一個數據庫文件。經過幾個小時的奮戰,終于完成預期的目標。

          首先是雙系統的安裝中需要注意的,2個系統的機器名必須一樣。否則再同步的時候會出現錯誤,這種錯誤也都是能再裝完之后解決,所以,機器名不一樣也可以,就是后面麻煩下而已。

                 系統硬盤規劃如下:(硬盤320G分區買來就是分的4個區,本人懶惰,也就懶得再去分小了、因安裝的是雙系統的原因,C盤和D盤再顯示上會根據登陸的系統而變化、最后2個分區則不變化,所以將公用數據文件安裝再DISK1盤)

          首先我在XP系統的系統盤上只安裝10.2.0.1.0數據庫軟件。

          然后再單獨創建數據庫(單獨創建的數據庫文件位置存放再DISK1中如:oradb)。

          建立監聽、配置本地NET服務名。

          一切完好之后再使用升級補丁,將Oracle升級至10.2.0.3.0,升級時間大約30分鐘,根據電腦性能時間會有變化。

          然后再切換至WIN7系統中同樣的方法安裝Oracle,因為WIN7系統的oracle版本使用的是for vista 版本。版本號為10.2.0.3.0,無需升級。

          WIN7系統的系統盤上只安裝10.2.0.3.0數據庫軟件。。

          然后再單獨創建數據庫(單獨創建的數據庫文件位置同樣存放再DISK1中如:oradb,覆蓋掉再XP系統中ORACLE創建的數據庫文件)。

          然后回到切換至XP系統,將WIN7系統中ORACLE目錄oracle"product"10.2.0"db_1"database下的SPFILEORCL.ORA復制到XP系統中oracle同級

          目錄下SPFILEORCL.ORA覆蓋掉。啟動數據庫會出現ORA-00201 ,ORA-00202錯誤,解決方法如下:

                 進入cmd運行界面。用sysdba賬號登陸。然后運行以下命令:

          create pfile from spfile;

                 shutdown immediate

                 startup mount pfile='d:"oracle"product"10.1.0"Db_2"database"initorcl.ora'

          show parameter compatible

          shutdown immediate

          startup

          檢查運行,完成后創建表空間等信息、完成后返回WIN7系統,即可同步操作數據。此方法是雙擊冷備的思想。

          posted @ 2009-08-09 00:11 飛飛 閱讀(1309) | 評論 (0)編輯 收藏

          在pl/sql里怎樣進行半,全角轉換? 
          To_Multi_Byte(str)
          To_Single_Byte(str)
          posted @ 2009-04-16 14:40 飛飛 閱讀(352) | 評論 (0)編輯 收藏

          轉http://www.gzit.org/27/viewspace-3306.html

          package com;

          import java.util.ArrayList;關注ITz]'p6g5n-KlX
          import java.util.List;

          public class SimpleTest{關注IT1rq3XJw8K.uk&fK$w
           關注IT IQvF'S3U
           /**
          ZyJ9l2@9@K0  *關注IT)~d3X(v*^ \jn3M
            * @return  所有公司
          t8~)^.L.kq9Y0  */關注IT_ s9A?i:^Z
           public List<Company> getAllCompany(){
          `Gq(c rzCG0  List<Company> list = new ArrayList<Company>();關注ITyc?n#P3H
            Company company = null;關注ITm n"o@a%vF#p8O
            company = new Company(1,"廣西博聯信息通信技術有限責任公司");關注IT7p9wloKHs
            list.add(company);
          \t%? EgoZ/Jl3FI6r0  company = new Company(2,"能創信息科技有限責任公司");關注IT:kA E+Kh#UI
            list.add(company);
          @"E}.U0t,V1I0  return list;關注IT9l#W*{"s&m
           }
          !l0{"PF/z&y R9a.o/y0 
          Ue3t N0^q%v.E0 /**
          )^ D*FpTn+a5I!e0  *關注IT[1r^3g"Q,Ih
            * @param companyId  公司編號
          -aWE)@QP&?}0  * @return  公司下所有部門
          @4M,|PVgn!H L0  */關注IT0ZGrm:b'?
           public List<Department> getDepartment(int companyId){
          W(o&TK Is0hC0  List<Department> list = new ArrayList<Department>();關注IT4V0v(t)v1J.TM,m.y
            Department department = null;
          Wvc(d"g4D eV2A0  if(companyId==1){關注IT]$Z$X*W*mv8`%qQ
             department = new Department(1,1,"軟件事業部");關注IT]!A F)AV\$I5J
             list.add(department);關注ITIYRRcSj
             department = new Department(2,1,"工程部");關注ITU rCpeq8M
             list.add(department);
          5O#{ `8v8Ta)}B$L0  }else{關注IT ug,L?5[:y@k C:]
             department = new Department(1,2,"企管部");關注ITk/BY3iM/X,`%e
             list.add(department);關注IT&I7Z9{5`kV/l Avj |5L
             department = new Department(2,2,"財務部");
          b'jm;yVa'Ww;Ea0   list.add(department);
          z W Pp$yx3M0  }關注ITG gA3V5t0^ xM
            return list;
          4O v#k$x:P3n0 }關注IT$tV5JN8sF u:FJ
           
          y'b-^Bma0 /**關注IT/A(^g]jU P*u-\,H
            *關注IT:m'| NmVWtX/Y
            * @param departmentId  部門編號關注IT} l)^8GbA
            * @return   部門下所有員工關注IT.^VB |7V;b D'J'eH+n
            */
          2gkge \x/ip-c4tW0 public List<Person> getPerson(int departmentId){關注ITFR*B5bnj_2[&Q
            List<Person> list = new ArrayList<Person>();
          A@T5y8M]:H5h/c0  Person person = null;關注ITK Z-M ~MF
            if(departmentId==1){關注IT\t.T\3Mx
             person = new Person(1,1,"張三");關注ITe)_3a4xcw
             list.add(person);
          wkw2P)G u7G(Z0   person = new Person(2,1,"李四");
          { uhJ;y9V&C` H0   list.add(person);
          %q(xK1? VR0  }else{
          s|] l)J:@o,p@y0   person = new Person(1,2,"王五");關注ITi'j*FST I
             list.add(person);關注IT^@j { x US i
             person = new Person(2,2,"趙六");關注IT ux#kse o;W
             list.add(person);
          4B/cP*v5z [P0  }關注IT g Bc!D)p*jB)X
            return list;關注IT'X:[] lH
           }

          }
          d z-]6Gn/T9f1OR0

          package com;

          public class Company {

           private int id;關注IT|:NQQ,|8W,D!QV
           private String companyName;
          $ffG s&X1|I0 關注ITy*eK ~4xog
           public Company(int id,String companyName){
          .q;k2a&}j*LL0  this.id = id;
          '\ u:Jpv)j0  this.companyName = companyName;關注ITV[,Ty8Fu
           }

           public int getId() {關注IT:F| |n-n!w$sX5PL
            return id;
          NPPJ,?0 }

           public void setId(int id) {關注ITh2emjTe il+[D
            this.id = id;
          W@b ` L4i0 }

           public String getCompanyName() {關注IT$wP8oO%} ?xe4k
            return companyName;
          S0Kz%GX$?auN W0 }

           public void setCompanyName(String companyName) {
          zMv*g ic8S&YqcN0  this.companyName = companyName;
          v\'x-pT0 }

          }
          *mHu$CU~wb9x x0

          package com;

          public class Department {

           private int id;關注IT [n0zYU
           private int companyId;關注IT$S __L'FDvy2WD
           private String departmentName;

           public Department(int id, int companyId, String departmentName) {
          ,ni)o5G$yL'[o(}Q0  this.id = id;
          q3Gzw"E6v8?o.MT0  this.companyId = companyId;關注IT+r"mo:pO$L![4U
            this.departmentName = departmentName;
          /q\6Aj5]0m3G#l-P9a0 }

           public int getId() {
          w"j`I` J0  return id;
          x(P!d6tu v a"T0 }

           public void setId(int id) {關注ITlQ1r8wS5_'hb
            this.id = id;關注IT pGy3Jl{0tkW
           }

           public int getCompanyId() {
          @!PpRi0  return companyId;關注ITs c!i"DQ5_D
           }

           public void setCompanyId(int companyId) {關注ITrp` i5D/_L
            this.companyId = companyId;關注ITYT+Y6CkJ t2x
           }

           public String getDepartmentName() {
          fSa p.@9e&L0  return departmentName;關注IT!Pe L6m D7n wM
           }

           public void setDepartmentName(String departmentName) {關注IT/bD(o/RPq
            this.departmentName = departmentName;
          '|S4q p4]0 }

          }關注IT){0[0DsY:te9V A r$T

          package com;

          public class Person {

           private int id;
          U{*D:dw+i6W0 private int departmentId;
          q6a e ?5u5\ b|0?]KI0 private String userName;

           public Person(int id,int departmentId, String userName) {關注IT#c%qN s2Xup kIc
            this.id = id;關注ITs%z&uZ2T Bbj
            this.departmentId = departmentId;
          |5nI&y.LO y)Cx(C.r b"x0  this.userName = userName;關注IT_,ep*n(H
           }

           public int getDepartmentId() {關注IT&ue1rG X%WJN[
            return departmentId;
          "qn%DVY2mGh0 }

           public void setDepartmentId(int departmentId) {關注ITa? d(_7s
            this.departmentId = departmentId;關注IT+`vt Pb4oS
           }

           public String getUserName() {
          ]etq"Seza0  return userName;
          3fZn} j-z(V+ir,a0 }

           public void setUserName(String userName) {
          9pWKaR|0  this.userName = userName;
          ~FT_7a/l6lD$}V0 }

           public int getId() {
          *i:k5KIZyr'o0  return id;
          g+j[M(o`0 }

           public void setId(int id) {
          vBj&P/` DUqB0  this.id = id;
          :x:d5MOwo0 }

          }
          -KIsR)D9j7a+VDr rE3Ve0

          <?xml version="1.0" encoding="UTF-8"?>關注ITWF0A~V
          <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "dwr10.dtd" >關注IT GszT,f+Fc:RT
          <dwr>
          P/QC qq)cf0 <allow>關注IT.M%D9A4u{A&^`
            <!-- 聲明哪個類可以提供JS直接調用 -->
          Nf9r/PN%N-Du)D0  <create javascript="SimpleTest" creator="new">關注IT'T G m*[5A\#|1~;`%Y
             <param name="class" value="com.SimpleTest"></param>
          \u)NR5z5QSP7t&@0   <!-- 該類里公開出來給JS調用的方法 -->
          sh+c`K#sL'T#l0   <include method="getAllCompany" />關注IT$|i'^(lf$`y[2x I
             <include method="getDepartment" />
          cP(^2LF5c:K$s*ce0   <include method="getPerson" />
          _/J0?wiqL%w0  </create>
          /zms8Vonw0  <!-- 類型轉換 -->關注IT N*a#}ip*^H
            <convert match="com.Person" converter="bean">
          .pV*p:QtOB0   <param name="include" value="id,departmentId,userName"></param>
          5v8V6|3`U-WPya)nS0  </convert>
          vu| ow4J b ^)@0  <convert match="com.Department" converter="bean">關注IT.g SgkS'u S]`
             <param name="include" value="id,companyId,departmentName"></param>關注ITX~_L nT
            </convert>
          p3G!a/V;|y0  <convert match="com.Company" converter="bean">關注IT W6L q.dtp%Qv\
             <param name="include" value="id,companyName"></param>
          z+sas-D)C"PS,|0  </convert>關注ITD/g|U2c:Y
           </allow>關注IT"['f&XZ`~
          </dwr>關注IT,FruT'[ m%A1M

          <%@ page language="java" pageEncoding="GB18030"%>關注IT*B&kW!{i
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          lgX^J G0<html>關注ITi'l*l#zG(q
            <head>   
          uLA#O!~1s:c@0    <title>My JSP 'simpleTest.jsp' starting page</title>
          eI-k1b-TDW w0   關注IT7g h.ICd(r
           <meta. http-equiv="pragma" content="no-cache">關注ITQ _-x5Mm
           <meta. http-equiv="cache-control" content="no-cache">關注ITe}yN |"S
           <meta. http-equiv="expires" content="0">   關注ITax(bO%Odh
           <meta. http-equiv="keywords" content="keyword1,keyword2,keyword3">
          t%X$Wjx&VH.`0 <meta. http-equiv="description" content="This is my page">
          /[Y7V5~PEWQ p0 
          5b Z{3V!q O V5x1u!e0  </head>
          )gD&OE\0  <script. type="text/javascript" src="dwr/engine.js"></script>關注IT1r"V3R{cP/~3Jc7Q
            <script. type="text/javascript" src="dwr/util.js"></script>關注IT#bM"@K,O@ X
            <script. type="text/javascript" src="dwr/interface/SimpleTest.js"></script>關注ITi(V6w \6~!l/a A#s [
           
          6_*@k$wN0  <body nload="initial()">關注IT!nt9lT`1e/M%h
            <script. type="text/javascript">
          y]#zLJE0  /*頁面初始加載公司欄目*/關注IT?%]%wR7ICTg0_
            function initial(){
          'h&BHt iEU0     SimpleTest.getAllCompany(function(data){dealSelect("i",data)});關注ITjty,Fwrb
            }關注IT&I!\_N d4xYHd
            /*獲取下拉菜單的值并填充下一欄目*/
          w)UR!qK$ma0  function show(flag){關注IT(y4Ff L4U5i
               if(flag=="c"){關注ITI$o+U{]r+k[Y
               var companyId = $("company").value;
          _$|"Q7s)K-m"[/z*[)n0     SimpleTest.getDepartment(companyId,function(data){dealSelect(flag,data)});
          cAj9K(u/g] E)I v6Iw0     }else if(flag=="d"){
          J$L&o2}pD6kw0     var departmentId = $("department").value;
          u}u'`\6~d*^0     SimpleTest.getPerson(departmentId,function(data){dealSelect(flag,data)});  
          0@Vy ~cZF |0     } 
          'X#Wc ?'| nW0  }關注ITk @#n[[&L&_OP5]4_o
            /*填充select的內容*/
          NgcV,[0X0  function dealSelect(flag,data){
          G YKF-I6HRfu)d0    clearSelect(flag);
          1tC0BTVC?r3F0    if(flag=="c"){
          *Td\#}%kT(|0    DWRUtil.addOptions("department",data,"id","departmentName");
          9N#R2Pt4B0    }else if(flag=="d"){
          Oj"@2V$l,{6L:K0    DWRUtil.addOptions("person",data,"id","userName");關注IT(I'Syg7[g[ l+R5r"l
              }else if(flag=="i"){
          d'X'Fj5JJQ!Z8~0    DWRUtil.addOptions("company",data,"id","companyName");關注IT R W8[| x9a1QFq
              }
          ~m+hRysQ P T,c)?a0@0  }關注IT!e6B&wgK6a6W4f
            /*清除下拉表單的內容*/
          6n`%~ j,_RU0  function clearSelect(flag){關注ITC1z#B-a6g3f/u*_
              if(flag=="c"){
          I5c'e3n(|b0       var tmp = $("department");
          )P$oa7G0AQ/o$cb0       while(tmp.childNodes.length>1){關注ITP(vJsB?XE"@
                 tmp.removeChild(tmp.lastChild);
          ew)j^q0       }
          0H+J,D R8i0    }else if(flag="d"){關注ITl UJS P)e _-W
                 var tmp = $("person");關注ITb-j-[&d&S }`[
                 while(tmp.childNodes.length>1){
          h8iOK4e0       tmp.removeChild(tmp.lastChild);
          qTBv)hZ#v:X{+n0       }關注ITJZ,P0_C
              }關注IT`Tt5D({7P
            } 
          y1ipi*J0  /*清空select里的內容*/
          })uTT-t"Y0  </script>關注ITc ^2Wf ]p%g
              公司:<select id='company' nchange="show('c')"><option value="">======</option></select>關注ITLAD"Ei f8zo2uO
              部門:<select id='department' nchange="show('d')"><option value="">======</option></select>
          z/VjF&{({0    成員:<select id='person'><option value="">======</option></select>
          j!IJ$dQ0  </body>
          ;R$n'W7L){ n*^P IE.tr0</html>關注ITT[$[*l;x9I] N

          posted @ 2008-10-26 19:36 飛飛 閱讀(563) | 評論 (0)編輯 收藏

          12:52:31,162  INFO Logger:51 - Logging using commons-logging.
          12:52:31,287  INFO DWRServlet:51 - retrieved system configuration file: weblogic.utils.zip.SafeZipFileInputStream@2453319
          12:52:31,334  INFO DefaultConfiguration:51 - Creator 'jsf' not loaded due to NoClassDefFoundError. This is only an problem if you wanted to use it. Cause: javax/faces/el/ValueBinding (jsf-api.jar)
          12:52:31,349  INFO DefaultConfiguration:51 - Creator 'pageflow' not loaded due to ClassNotFoundException. This is only an problem if you wanted to use it. Cause: Beehive/Weblogic Creator not available. (可以不用理會)
          12:52:31,349  INFO DefaultConfiguration:51 - Creator 'script' not loaded due to NoClassDefFoundError. This is only an problem if you wanted to use it. Cause: org/apache/bsf/BSFException (bsf-2.3.0.jar)
          12:52:31,412  INFO DefaultConfiguration:51 - Converter 'jdom' not loaded due to NoClassDefFoundError. This is only an problem if you wanted to use it. Cause: org/jdom/Document  (jdom-1.0.jar)
          12:52:31,443  INFO DefaultConfiguration:51 - Converter 'hibernate' not loaded due to ClassNotFoundException. This is only an problem if you wanted to use it. Cause: Failed to find either org.hibernate.Hibernate or net.sf.hibernate.Hibernate (hibernate-3.0.1.jar ).
          12:52:31,459  INFO DefaultConverterManager:51 - Type 'org.jdom.Document' is not convertable due to missing converter 'jdom'. This is only an problem if you wanted to use it.
          12:52:31,459  INFO DefaultConverterManager:51 - Type 'org.jdom.Element' is not convertable due to missing converter 'jdom'. This is only an problem if you wanted to use it.

          添加相應的包,
          http://www.findjar.com/jar/jdom/jars/jdom-1.0.jar.html
          http://www.java2s.com/Code/Jar/Spring-Related/Downloadjsfapijar.htm
          查找相應的CLASS,下載包


          13:20:43,131  WARN DefaultConverterManager:59 - Missing type info for save_yhsj(0<0>). Assuming this is a map with String keys. Please add to <signatures> in dwr.xml
          13:20:43,131  WARN DefaultConverterManager:59 - Missing type info for save_yhsj(0<1>). Assuming this is a map with String keys. Please add to <signatures> in dwr.xml
          13:20:43,146  INFO ExecuteQuery:51 - Exec[0]: FyglImpl.save_yhsj()

          在頁面中:
          function saveSjjl(){
             var param=new Object();
             param["S_nbxh"]=document.form1.S_nbxh.value;
             param["S_yhmc"]=document.form2.S_yhmc.value;
             param["D_cbsj"]=document.form2.D_cbsj.value;
             param["S_rqsj"]=document.form2.S_rqsj.value;
             param["S_cbry"]=document.form2.S_cbry.value;
             FyglImpl.save_yhsj(param,{
              callback:function(str) {
               $('saveSjjl').disabled = true;
               alert("保存成功!");
              },
              timeout:5000,
                errorHandler:function(message) { alert("Oops: " + message); }
             });
            }
          CLASS中:
          public void save_yhsj(Map param) {}
          解決方法:
          <signatures>
            <![CDATA[
              import java.util.Map;
              import com.fygl.implement.FyglImpl;
              FyglImpl.save_yhsj(Map<String,String> param);
              ]]>
           </signatures>
          posted @ 2008-09-05 13:07 飛飛 閱讀(2851) | 評論 (2)編輯 收藏

          replace(replace(str,chr(13),''),chr(10),'')

          update hz_qyfddbr h set jl=(select replace(replace(jl,chr(13),''),chr(10),'') from hz_qyfddbr r where r.nbxh=h.nbxh  )
          posted @ 2008-09-03 12:30 飛飛 閱讀(2544) | 評論 (1)編輯 收藏

          今天需要使用個本地化的問題,努力看了點資料,終于解決
          COPE點資料來保存

          用戶定義指令-使用@符合來調用
          有兩種不同的類型:Macro(宏)和transform(傳遞器),Macro是在模板中使用macro指令定義,而transform是在模板外由程序定義(基本上都是基于Java的),這里通過Macro來介紹自定義指令。
          例一:
          <#macro greet>
          <font size="+2">Hello Joe!</font>
          </#macro>
          使用:<@greet></@greet> 或 <@greet/>
          結果:<font size="+2">Hello Joe!</font>

          參數-在macro指令中可以在宏變量之后定義參數
          例二:
          <#macro greet person>
          <font size="+2">Hello ${person}!</font>
          </#macro>
          使用:<@greet person="Fred"/> and <@greet person="Batman"/>
          結果: <font size="+2">Hello Fred!</font> and <font size="+2">Hello Batman!</font>

          macro可以有多個參數,參數的次序是無關的,在macro指令中只能使用定義的參數,并且必須對所有參數賦值,可以在定義參數時指定缺省值:

          <#macro greet person color="black">
          <font size="+2" color="${color}">Hello ${person}!</font>
          </#macro>


          在自定義指令嵌套內容:模板片斷中使用<#nested>指令

          <#macro border>
          <table border=4 cellspacing=0 cellpadding=4><tr><td>
          <#nested>
          </tr></td></table>
          </#macro>
          使用:<@border>The bordered text</@border>
          結果:

          <table border=4 cellspacing=0 cellpadding=4>
          <tr><td>The bordered text
          </tr></td></table>
          <#nested>指令可以被多次調用:

          <#macro do_thrice>
          <#nested>
          <#nested>
          <#nested>
          </#macro>
          使用:
          <@do_thrice>Anything.</@do_thrice>
          結果:
          Anything.
          Anything.
          Anything.

          注意:嵌套內容是無法訪問到macro中的局部變量的。
          例如:

          <#macro repeat count>
          <#local y = "test">
          <#list 1..count as x>
          ${y} ${count}/${x}: <#nested>
          </#list>
          </#macro>
          <@repeat count=3>${y?default("?")} ${x?default("?")} ${count?default("?")}</@repeat>
          結果:
          test 3/1: ? ? ?
          test 3/2: ? ? ?
          test 3/3: ? ? ?


          下面是一個嵌套使用自定義指令的例子:

          <@border>
          <ul>
          <@do_thrice>
          <li><@greet person="Joe"/>
          </@do_thrice>
          </ul>
          </@border>
          結果:

          <table border=4 cellspacing=0 cellpadding=4><tr><td>
          <ul>
          <li><font size="+2">Hello Joe!</font>
          <li><font size="+2">Hello Joe!</font>
          <li><font size="+2">Hello Joe!</font>
          </ul>
          </tr></td></table>
          macro中使用循環變量-作為nested指令的參數傳遞循環變量的實際值,而在調用用戶定義指令時,在<@…>開始標記的參數后面指定循環變量的名字:

          <#macro repeat count>
          <#list 1..count as x>
          <#nested x, x/2, x==count>
          </#list>
          </#macro>
          <@repeat count=4 ; c, halfc, last>
          ${c}. ${halfc}<#if last> Last!</#if>
          /@repeat
          結果:
          1. 0.5
          2. 1
          3. 1.5
          4. 2 Last!

          注意:循環變量和用戶定義指令開始標記指定的數目可以不同,調用時少指定循環變量,則多指定的值不可見,調用時多指定循環變量,多余的循環變量不會被創建。

          模板中的變量,有三種類型:
          1.) plain(全局)變量:可以在模板的任何地方訪問,包括使用include指令插入的模板,使用assign指令創建和替換
          2.) 局部變量:在macro中有效,使用local指令創建和替換
          3.) 循環變量:只能存在于指令的嵌套內容,由指令(如list)自動創建;宏的參數是局部變量,而不是循環變量

          用assign指令創建和替換的例子:

          <#assign x = 1> <#-- create variable x -->
          ${x}
          <#assign x = x + 3> <#-- replace variable x -->
          ${x}
          結果:
          1
          4

          局部變量隱藏(而不是覆蓋)同名的plain變量;循環變量隱藏同名的局部變量和plain變量,下面是一個例子:

          <#assign x = "plain">
          1. ${x} <#-- we see the plain var. here -->
          <@test/>
          6. ${x} <#-- the value of plain var. was not changed -->
          <#list ["loop"] as x>
          7. ${x} <#-- now the loop var. hides the plain var. -->
          <#assign x = "plain2"> <#-- replace the plain var, hiding does not mater here -->
          8. ${x} <#-- it still hides the plain var. -->
          </#list>
          9. ${x} <#-- the new value of plain var. -->

          <#macro test>
          2. ${x} <#-- we still see the plain var. here -->
          <#local x = "local">
          3. ${x} <#-- now the local var. hides it -->
          <#list ["loop"] as x>
          4. ${x} <#-- now the loop var. hides the local var. -->
          </#list>
          5. ${x} <#-- now we see the local var. again -->
          </#macro>
          結果:
          1. plain
          2. plain
          3. local
          4. loop
          5. local
          6. plain
          7. loop
          8. loop
          9. plain2

          內部循環變量隱藏同名的外部循環變量,例如:

          <#list ["loop 1"] as x>
          ${x}
          <#list ["loop 2"] as x>
          ${x}
          <#list ["loop 3"] as x>
          ${x}
          </#list>
          ${x}
          </#list>
          ${x}
          </#list>
          結果:
          loop 1
          loop 2
          loop 3
          loop 2
          loop 1

          模板中的變量會隱藏(而不是覆蓋)數據模型中同名變量,如果需要訪問數據模型中的同名變量,使用特殊變量global,下面的例子假設數據模型中的user的值是Big Joe:

          <#assign user = "Joe Hider">
          ${user} <#-- prints: Joe Hider -->
          ${.globals.user} <#-- prints: Big Joe -->
          命名(namespaces)空間-通常情況,只使用一個命名空間,稱為主命名空間(main namespace),但你是不會意識到這些的;為了創建可重用的macro、transforms或其它變量的集合(通常稱庫),必須使用多命名空間,為了防止同名沖突。

          首先創建一個庫(假設保存在lib/my_test.ftl中):

          <#macro copyright date>
          <p>Copyright (C) ${date} Julia Smith. All rights reserved.
          <br>Email: ${mail}</p>
          </#macro>
          <#assign mail = "jsmith@acme.com">
          使用import指令導入庫到模板中,Freemarker會為導入的庫創建新的命名空間,并可以通過import指令中指定的hash(散列)變量訪問庫中的變量:

          <#import "/lib/my_test.ftl" as my>
          <#assign mail="fred@acme.com">
          <@my.copyright date="1999-2002"/>
          ${my.mail}
          ${mail}
          結果:

          <p>Copyright (C) 1999-2002 Julia Smith. All rights reserved.
          <br>Email: jsmith@acme.com</p>
          jsmith@acme.com
          fred@acme.com
          上面的例子中使用的兩個同名變量并沒有沖突,因為它們位于不同的命名空間

          可以使用assign指令在導入的命名空間中創建或替代變量:

          <#import "/lib/my_test.ftl" as my>
          ${my.mail}
          <#assign mail="jsmith@other.com" in my>
          ${my.mail}
          結果:
          jsmith@acme.com
          jsmith@other.com

          數據模型中的變量任何地方都可見,也包括不同的命名空間,下面修改了剛才創建的庫:

          <#macro copyright date>
          <p>Copyright (C) ${date} ${user}. All rights reserved.</p>
          </#macro>
          <#assign mail = "${user}@acme.com">
          假設數據模型中的user變量的值是Fred:

          <#import "/lib/my_test.ftl" as my>
          <@my.copyright date="1999-2002"/>
          ${my.mail}
          結果:
          <p>Copyright (C) 1999-2002 Fred. All rights reserved.</p>
          Fred@acme.com

          最后用macro指令解決問題,

          <#macro zch code text="dd">
            <#include "/view/xtgl/xtsjwh/zchsz${ThemeHelpersMap[code]?default(text)}.js"> 
           </#macro>
           <@zch code="jc"/>
          posted @ 2008-08-23 18:05 飛飛 閱讀(641) | 評論 (0)編輯 收藏

          10:05:05,937  INFO QyFunctionImpl:16 -  Update xhgl set xh=69 where  table_name='sl_yhzcnr' 
          10:05:05,984  INFO XmlBeanDefinitionReader:158 - Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
          10:05:06,000  INFO SQLErrorCodesFactory:120 - SQLErrorCodes loaded: [DB2, HSQL, MS-SQL, MySQL, Oracle, Informix, PostgreSQL, Sybase]
          10:05:06,046 ERROR DispatcherServlet:412 - Could not complete request
          org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQLException for SQL [ Update xhgl set xh=69 where  table_name='sl_yhzcnr'  ]; SQL state [S1009]; error code [0]; Connection is read-only. Queries leading to data modification are not allowed.; nested exception is java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed.
          java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed.
           at com.mysql.jdbc.SQLError.createSQLException(Ljava.lang.String;Ljava.lang.String;)Ljava.sql.SQLException;(SQLError.java:910)
           at com.mysql.jdbc.Statement.executeUpdate(Ljava.lang.String;Z)I(Statement.java:1265)
           at com.mysql.jdbc.Statement.executeUpdate(Ljava.lang.String;)I(Statement.java:1235)
           at weblogic.jdbc.wrapper.Statement.executeUpdate(Ljava.lang.String;)I(Statement.java:360)
           at org.springframework.jdbc.core.JdbcTemplate$1UpdateStatementCallback.doInStatement(Ljava.sql.Statement;)Ljava.lang.Object;(JdbcTemplate.java:381)
           at org.springframework.jdbc.core.JdbcTemplate.execute(Lorg.springframework.jdbc.core.StatementCallback;)Ljava.lang.Object;(JdbcTemplate.java:254)
           at org.springframework.jdbc.core.JdbcTemplate.update(Ljava.lang.String;)I(JdbcTemplate.java:391)
           at com.yhgl.implement.QyFunctionImpl.getXh(Ljava.lang.String;)Ljava.lang.String;(QyFunctionImpl.java:17)
           at com.yhgl.implement.QyFunctionImpl$$FastClassByCGLIB$$86b27578.invoke(ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(<generated>:0)
           at net.sf.cglib.proxy.MethodProxy.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(MethodProxy.java:149)
           at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint()Ljava.lang.Object;(Cglib2AopProxy.java:698)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava.lang.Object;(ReflectiveMethodInvocation.java:122)
           at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(Lorg.aopalliance.intercept.MethodInvocation;)Ljava.lang.Object;(TransactionInterceptor.java:96)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava.lang.Object;(ReflectiveMethodInvocation.java:144)
           at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Ljava.lang.Object;Ljava.lang.reflect.Method;[Ljava.lang.Object;Lnet.sf.cglib.proxy.MethodProxy;)Ljava.lang.Object;(Cglib2AopProxy.java:643)
           at com.yhgl.implement.QyFunctionImpl$$EnhancerByCGLIB$$abfcb417.getXh(Ljava.lang.String;)Ljava.lang.String;(<generated>:0)
           at com.contorller.Yhdjcontroller.save_nr(Ljavax.servlet.http.HttpServletRequest;Lorg.springframework.web.servlet.ModelAndView;)Ljava.lang.String;(Yhdjcontroller.java:79)
           at com.contorller.Yhdjcontroller.save(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)Lorg.springframework.web.servlet.ModelAndView;(Yhdjcontroller.java:51)
           at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
           at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
           at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
           at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
           at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(Ljava.lang.String;Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)Lorg.springframework.web.servlet.ModelAndView;(MultiActionController.java:403)
           at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)Lorg.springframework.web.servlet.ModelAndView;(MultiActionController.java:358)
           at org.springframework.web.servlet.mvc.AbstractController.handleRequest(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)Lorg.springframework.web.servlet.ModelAndView;(AbstractController.java:139)
           at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;Ljava.lang.Object;)Lorg.springframework.web.servlet.ModelAndView;(SimpleControllerHandlerAdapter.java:44)
           at org.springframework.web.servlet.DispatcherServlet.doDispatch(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(DispatcherServlet.java:684)
           at org.springframework.web.servlet.DispatcherServlet.doService(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(DispatcherServlet.java:625)
           at org.springframework.web.servlet.FrameworkServlet.processRequest(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(FrameworkServlet.java:392)
           at org.springframework.web.servlet.FrameworkServlet.doPost(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(FrameworkServlet.java:357)
           at javax.servlet.http.HttpServlet.service(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(HttpServlet.java:760)
           at javax.servlet.http.HttpServlet.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(HttpServlet.java:853)
          <2008-8-21 上午10時05分06秒 CST> <Error> <HTTP> <BEA-101020> <[ServletContext(id=36466092,name=SpringMVC,context-path=/SpringMVC)] Servlet failed with Exception
          org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQLException for SQL [ Update xhgl set xh=69 where  table_name='sl_yhzcnr'  ]; SQL state [S1009]; error code [0]; Connection is read-only. Queries leading to data modification are not allowed.; nested exception is java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed.
          java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed.
           at com.mysql.jdbc.SQLError.createSQLException(Ljava.lang.String;Ljava.lang.String;)Ljava.sql.SQLException;(SQLError.java:910)
           at com.mysql.jdbc.Statement.executeUpdate(Ljava.lang.String;Z)I(Statement.java:1265)
           at com.mysql.jdbc.Statement.executeUpdate(Ljava.lang.String;)I(Statement.java:1235)
           at weblogic.jdbc.wrapper.Statement.executeUpdate(Ljava.lang.String;)I(Statement.java:360)
           at org.springframework.jdbc.core.JdbcTemplate$1UpdateStatementCallback.doInStatement(Ljava.sql.Statement;)Ljava.lang.Object;(JdbcTemplate.java:381)
           at org.springframework.jdbc.core.JdbcTemplate.execute(Lorg.springframework.jdbc.core.StatementCallback;)Ljava.lang.Object;(JdbcTemplate.java:254)
           at org.springframework.jdbc.core.JdbcTemplate.update(Ljava.lang.String;)I(JdbcTemplate.java:391)
           at com.yhgl.implement.QyFunctionImpl.getXh(Ljava.lang.String;)Ljava.lang.String;(QyFunctionImpl.java:17)
           at com.yhgl.implement.QyFunctionImpl$$FastClassByCGLIB$$86b27578.invoke(ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(<generated>:0)
           at net.sf.cglib.proxy.MethodProxy.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(MethodProxy.java:149)
           at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint()Ljava.lang.Object;(Cglib2AopProxy.java:698)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava.lang.Object;(ReflectiveMethodInvocation.java:122)
           at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(Lorg.aopalliance.intercept.MethodInvocation;)Ljava.lang.Object;(TransactionInterceptor.java:96)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava.lang.Object;(ReflectiveMethodInvocation.java:144)
           at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Ljava.lang.Object;Ljava.lang.reflect.Method;[Ljava.lang.Object;Lnet.sf.cglib.proxy.MethodProxy;)Ljava.lang.Object;(Cglib2AopProxy.java:643)
           at com.yhgl.implement.QyFunctionImpl$$EnhancerByCGLIB$$abfcb417.getXh(Ljava.lang.String;)Ljava.lang.String;(<generated>:0)
           at com.contorller.Yhdjcontroller.save_nr(Ljavax.servlet.http.HttpServletRequest;Lorg.springframework.web.servlet.ModelAndView;)Ljava.lang.String;(Yhdjcontroller.java:79)
           at com.contorller.Yhdjcontroller.save(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)Lorg.springframework.web.servlet.ModelAndView;(Yhdjcontroller.java:51)
           at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
           at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
           at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
           at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
           at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(Ljava.lang.String;Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)Lorg.springframework.web.servlet.ModelAndView;(MultiActionController.java:403)
           at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)Lorg.springframework.web.servlet.ModelAndView;(MultiActionController.java:358)
           at org.springframework.web.servlet.mvc.AbstractController.handleRequest(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)Lorg.springframework.web.servlet.ModelAndView;(AbstractController.java:139)
           at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;Ljava.lang.Object;)Lorg.springframework.web.servlet.ModelAndView;(SimpleControllerHandlerAdapter.java:44)
           at org.springframework.web.servlet.DispatcherServlet.doDispatch(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(DispatcherServlet.java:684)
           at org.springframework.web.servlet.DispatcherServlet.doService(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(DispatcherServlet.java:625)
           at org.springframework.web.servlet.FrameworkServlet.processRequest(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(FrameworkServlet.java:392)
           at org.springframework.web.servlet.FrameworkServlet.doPost(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(FrameworkServlet.java:357)
           at javax.servlet.http.HttpServlet.service(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(HttpServlet.java:760)
           at javax.servlet.http.HttpServlet.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(HttpServlet.java:853)
          >

          <bean id="baseTxService"
            class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
            abstract="true">
            <property name="transactionManager" ref="transactionManager" />
            <property name="proxyTargetClass" value="true" />
            <property name="transactionAttributes">
             <props>
              <prop key="save*">PROPAGATION_REQUIRED</prop>
              <prop key="update*">PROPAGATION_REQUIRED</prop>
              <prop key="remove*">PROPAGATION_REQUIRED</prop>
              <prop key="delete*">PROPAGATION_REQUIRED</prop>
              <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
             </props>
            </property>
           </bean>
          posted @ 2008-08-21 10:07 飛飛 閱讀(4760) | 評論 (0)編輯 收藏

          對于每個類型擁有的值范圍以及并且指定日期何時間值的有效格式的描述見7.3.6 日期和時間類型。

          這里是一個使用日期函數的例子。下面的查詢選擇了所有記錄,其date_col的值是在最后30天以內:

          mysql> SELECT something FROM table
          WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) select DAYOFWEEK('1998-02-03');
          -> 3

          WEEKDAY(date)
          返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
          mysql> select WEEKDAY('1997-10-04 22:23:00');
          -> 5
          mysql> select WEEKDAY('1997-11-05');
          -> 2

          DAYOFMONTH(date)
          返回date的月份中日期,在1到31范圍內。
          mysql> select DAYOFMONTH('1998-02-03');
          -> 3

          DAYOFYEAR(date)
          返回date在一年中的日數, 在1到366范圍內。
          mysql> select DAYOFYEAR('1998-02-03');
          -> 34

          MONTH(date)
          返回date的月份,范圍1到12。
          mysql> select MONTH('1998-02-03');
          -> 2

          DAYNAME(date)
          返回date的星期名字。
          mysql> select DAYNAME("1998-02-05");
          -> 'Thursday'

          MONTHNAME(date)
          返回date的月份名字。
          mysql> select MONTHNAME("1998-02-05");
          -> 'February'

          QUARTER(date)
          返回date一年中的季度,范圍1到4。
          mysql> select QUARTER('98-04-01');
          -> 2

          WEEK(date)
           
          WEEK(date,first)
          對于星期天是一周的第一天的地方,有一個單個參數,返回date的周數,范圍在0到52。2個參數形式WEEK()允許
          你指定星期是否開始于星期天或星期一。如果第二個參數是0,星期從星期天開始,如果第二個參數是1,
          從星期一開始。
          mysql> select WEEK('1998-02-20');
          -> 7
          mysql> select WEEK('1998-02-20',0);
          -> 7
          mysql> select WEEK('1998-02-20',1);
          -> 8

          YEAR(date)
          返回date的年份,范圍在1000到9999。
          mysql> select YEAR('98-02-03');
          -> 1998

          HOUR(time)
          返回time的小時,范圍是0到23。
          mysql> select HOUR('10:05:03');
          -> 10

          MINUTE(time)
          返回time的分鐘,范圍是0到59。
          mysql> select MINUTE('98-02-03 10:05:03');
          -> 5

          SECOND(time)
          回來time的秒數,范圍是0到59。
          mysql> select SECOND('10:05:03');
          -> 3

          PERIOD_ADD(P,N)
          增加N個月到階段P(以格式YYMM或YYYYMM)。以格式YYYYMM返回值。注意階段參數P不是日期值。
          mysql> select PERIOD_ADD(9801,2);
          -> 199803

          PERIOD_DIFF(P1,P2)
          返回在時期P1和P2之間月數,P1和P2應該以格式YYMM或YYYYMM。注意,時期參數P1和P2不是日期值。
          mysql> select PERIOD_DIFF(9802,199703);
          -> 11

          DATE_ADD(date,INTERVAL expr type)
           
          DATE_SUB(date,INTERVAL expr type)
           
          ADDDATE(date,INTERVAL expr type)
           
          SUBDATE(date,INTERVAL expr type)
          這些功能執行日期運算。對于MySQL 3.22,他們是新的。ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同義詞。
          在MySQL 3.23中,你可以使用+和-而不是DATE_ADD()和DATE_SUB()。(見例子)date是一個指定開始日期的
          DATETIME或DATE值,expr是指定加到開始日期或從開始日期減去的間隔值一個表達式,expr是一個字符串;它可以以
          一個“-”開始表示負間隔。type是一個關鍵詞,指明表達式應該如何被解釋。EXTRACT(type FROM date)函數從日期
          中返回“type”間隔。下表顯示了type和expr參數怎樣被關聯: type值 含義 期望的expr格式
          SECOND 秒 SECONDS
          MINUTE 分鐘 MINUTES
          HOUR 時間 HOURS
          DAY 天 DAYS
          MONTH 月 MONTHS
          YEAR 年 YEARS
          MINUTE_SECOND 分鐘和秒 "MINUTES:SECONDS"
          HOUR_MINUTE 小時和分鐘 "HOURS:MINUTES"
          DAY_HOUR 天和小時 "DAYS HOURS"
          YEAR_MONTH 年和月 "YEARS-MONTHS"
          HOUR_SECOND 小時, 分鐘, "HOURS:MINUTES:SECONDS"
          DAY_MINUTE 天, 小時, 分鐘 "DAYS HOURS:MINUTES"
          DAY_SECOND 天, 小時, 分鐘, 秒 "DAYS HOURS:MINUTES:SECONDS"

          MySQL在expr格式中允許任何標點分隔符。表示顯示的是建議的分隔符。如果date參數是一個DATE值并且你的計算僅僅
          包含YEAR、MONTH和DAY部分(即,沒有時間部分),結果是一個DATE值。否則結果是一個DATETIME值。

          mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
          -> 1998-01-01 00:00:00
          mysql> SELECT INTERVAL 1 DAY + "1997-12-31";
          -> 1998-01-01
          mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
          -> 1997-12-31 23:59:59
          mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
          INTERVAL 1 SECOND);
          -> 1998-01-01 00:00:00
          mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
          INTERVAL 1 DAY);
          -> 1998-01-01 23:59:59
          mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
          INTERVAL "1:1" MINUTE_SECOND);
          -> 1998-01-01 00:01:00
          mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
          INTERVAL "1 1:1:1" DAY_SECOND);
          -> 1997-12-30 22:58:59
          mysql> SELECT DATE_ADD("1998-01-01 00:00:00",
          INTERVAL "-1 10" DAY_HOUR);
          -> 1997-12-30 14:00:00
          mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
          -> 1997-12-02
          mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");
          -> 1999
          mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
          -> 199907
          mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
          -> 20102

          如果你指定太短的間隔值(不包括type關鍵詞期望的間隔部分),MySQL假設你省掉了間隔值的最左面部分。例如,
          如果你指定一個type是DAY_SECOND,值expr被希望有天、小時、分鐘和秒部分。如果你象"1:10"這樣指定值,
          MySQL假設日子和小時部分是丟失的并且值代表分鐘和秒。換句話說,"1:10" DAY_SECOND以它等價于"1:10" MINUTE_SECOND
          的方式解釋,這對那MySQL解釋TIME值表示經過的時間而非作為一天的時間的方式有二義性。如果你使用確實不正確的日期,
          結果是NULL。如果你增加MONTH、YEAR_MONTH或YEAR并且結果日期大于新月份的最大值天數,日子在新月用最大的天調整。

          mysql> select DATE_ADD('1998-01-30', Interval 1 month);
          -> 1998-02-28

          注意,從前面的例子中詞INTERVAL和type關鍵詞不是區分大小寫的。
          TO_DAYS(date)
          給出一個日期date,返回一個天數(從0年的天數)。
          mysql> select TO_DAYS(950501);
          -> 728779
          mysql> select TO_DAYS('1997-10-07');
          -> 729669

          TO_DAYS()不打算用于使用格列高里歷(1582)出現前的值。

          FROM_DAYS(N)
          給出一個天數N,返回一個DATE值。
          mysql> select FROM_DAYS(729669);
          -> '1997-10-07'

          TO_DAYS()不打算用于使用格列高里歷(1582)出現前的值。

          DATE_FORMAT(date,format)
          根據format字符串格式化date值。下列修飾符可以被用在format字符串中: %M 月名字(January……December)
          %W 星期名字(Sunday……Saturday)
          %D 有英語前綴的月份的日期(1st, 2nd, 3rd, 等等。)
          %Y 年, 數字, 4 位
          %y 年, 數字, 2 位
          %a 縮寫的星期名字(Sun……Sat)
          %d 月份中的天數, 數字(00……31)
          %e 月份中的天數, 數字(0……31)
          %m 月, 數字(01……12)
          %c 月, 數字(1……12)
          %b 縮寫的月份名字(Jan……Dec)
          %j 一年中的天數(001……366)
          %H 小時(00……23)
          %k 小時(0……23)
          %h 小時(01……12)
          %I 小時(01……12)
          %l 小時(1……12)
          %i 分鐘, 數字(00……59)
          %r 時間,12 小時(hh:mm:ss [AP]M)
          %T 時間,24 小時(hh:mm:ss)
          %S 秒(00……59)
          %s 秒(00……59)
          %p AM或PM
          %w 一個星期中的天數(0=Sunday ……6=Saturday )
          %U 星期(0……52), 這里星期天是星期的第一天
          %u 星期(0……52), 這里星期一是星期的第一天
          %% 一個文字“%”。

          所有的其他字符不做解釋被復制到結果中。

          mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
          -> 'Saturday October 1997'
          mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
          -> '22:23:00'
          mysql> select DATE_FORMAT('1997-10-04 22:23:00',
          '%D %y %a %d %m %b %j');
          -> '4th 97 Sat 04 10 Oct 277'
          mysql> select DATE_FORMAT('1997-10-04 22:23:00',
          '%H %k %I %r %T %S %w');
          -> '22 22 10 10:23:00 PM 22:23:00 00 6'
          MySQL3.23中,在格式修飾符字符前需要%。在MySQL更早的版本中,%是可選的。

          TIME_FORMAT(time,format)
          這象上面的DATE_FORMAT()函數一樣使用,但是format字符串只能包含處理小時、分鐘和秒的那些格式修飾符。
          其他修飾符產生一個NULL值或0。
          CURDATE()
           
          CURRENT_DATE
          以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,取決于函數是在一個字符串還是數字上下文被使用。
          mysql> select CURDATE();
          -> '1997-12-15'
          mysql> select CURDATE() + 0;
          -> 19971215

          CURTIME()
           
          CURRENT_TIME
          以'HH:MM:SS'或HHMMSS格式返回當前時間值,取決于函數是在一個字符串還是在數字的上下文被使用。
          mysql> select CURTIME();
          -> '23:50:26'
          mysql> select CURTIME() + 0;
          -> 235026

          NOW()
           
          SYSDATE()
           
          CURRENT_TIMESTAMP
          以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回當前的日期和時間,取決于函數是在一個字符串還是在數字的
          上下文被使用。
          mysql> select NOW();
          -> '1997-12-15 23:50:26'
          mysql> select NOW() + 0;
          -> 19971215235026

          UNIX_TIMESTAMP()
           
          UNIX_TIMESTAMP(date)
          如果沒有參數調用,返回一個Unix時間戳記(從'1970-01-01 00:00:00'GMT開始的秒數)。如果UNIX_TIMESTAMP()用一
          個date參數被調用,它返回從'1970-01-01 00:00:00' GMT開始的秒數值。date可以是一個DATE字符串、一個DATETIME
          字符串、一個TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地時間的一個數字。
          mysql> select UNIX_TIMESTAMP();
          -> 882226357
          mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00');
          -> 875996580

          當UNIX_TIMESTAMP被用于一個TIMESTAMP列,函數將直接接受值,沒有隱含的“string-to-unix-timestamp”變換。

          FROM_UNIXTIME(unix_timestamp)
          以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp參數所表示的值,取決于函數是在一個字符串
          還是或數字上下文中被使用。
          mysql> select FROM_UNIXTIME(875996580);
          -> '1997-10-04 22:23:00'
          mysql> select FROM_UNIXTIME(875996580) + 0;
          -> 19971004222300

          FROM_UNIXTIME(unix_timestamp,format)
          返回表示 Unix 時間標記的一個字符串,根據format字符串格式化。format可以包含與DATE_FORMAT()函數列出的條
          目同樣的修飾符。
          mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),
          '%Y %D %M %h:%i:%s %x');
          -> '1997 23rd December 03:43:30 x'

          SEC_TO_TIME(seconds)
          返回seconds參數,變換成小時、分鐘和秒,值以'HH:MM:SS'或HHMMSS格式化,取決于函數是在一個字符串還是在數字
          上下文中被使用。
          mysql> select SEC_TO_TIME(2378);
          -> '00:39:38'
          mysql> select SEC_TO_TIME(2378) + 0;
          -> 3938

          TIME_TO_SEC(time)
          返回time參數,轉換成秒。
          mysql> select TIME_TO_SEC('22:23:00');
          -> 80580
          mysql> select TIME_TO_SEC('00:39:38');
          -> 2378

          ---------------------------------------------------------------------------------------------------------------------------

          mysql日期處理函數

          mysql日期處理函數

          mysql自己有格式化日期格式的函數,可以在查詢語句中使用
          DATE_FORMAT(date,format)
          根據format字符串格式化date值。下列修飾符可以被用在format字符串中: %M  月名字(January……December)  
          %W  星期名字(Sunday……Saturday)  
          %D  有英語前綴的月份的日期(1st, 2nd, 3rd, 等等。)
          %Y  年, 數字, 4 位
          %y  年, 數字, 2 位
          %a  縮寫的星期名字(Sun……Sat)  
          %d  月份中的天數, 數字(00……31)  
          %e  月份中的天數, 數字(0……31)  
          %m  月, 數字(01……12)  
          %c  月, 數字(1……12)  
          %b  縮寫的月份名字(Jan……Dec)  
          %j  一年中的天數(001……366)  
          %H  小時(00……23)  
          %k  小時(0……23)  
          %h  小時(01……12)  
          %I  小時(01……12)  
          %l  小時(1……12)  
          %i  分鐘, 數字(00……59)  
          %r  時間,12 小時(hh:mm:ss [AP]M)  
          %T  時間,24 小時(hh:mm:ss)  
          %S  秒(00……59)  
          %s  秒(00……59)  
          %p  AM或PM  
          %w  一個星期中的天數(0=Sunday ……6=Saturday )
          %U  星期(0……52), 這里星期天是星期的第一天
          %u  星期(0……52), 這里星期一是星期的第一天
          %%  一個文字“%”。  

          如需要用php處理,可先用strtotime函數將日期轉換為unix時間戳,再用date函數格式化
          posted @ 2008-08-20 12:36 飛飛 閱讀(352) | 評論 (0)編輯 收藏

          對于Weblogic8.1可直接修改eauser_projectsdomainsmydomain下的startweblogic.cmd

          找到 “Set classpath=”,加入mysql.jar的路徑,如:

          set CLASSPATH=C:mysql.jar;%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%jrelib t.jar;%WL_HOME%serverlibwebservices.jar;%CLASSPATH%


          mysql.jar的路徑最好放在最前面。

          當weblogic合成在myeclipse中的時候,在myeclipse的weblogic的classpath中設置驅動的路徑
          posted @ 2008-08-19 16:33 飛飛 閱讀(797) | 評論 (0)編輯 收藏

          1)控制臺報The WebLogic Server did not start up properly.
          java.io.InvalidClassException: javax.management.MBeanAttributeInfo; local class incompatible: stream classdesc serialVersionUID = 7043855487133450673, local class serialVersionUID = 8644704819898565848
          錯誤原因及解決辦法:MBeanAttributeInfo的serialVersionUID的版本控制id不一樣,說明是使用這個被使用的bean被修改過了,很顯然是版本不對;修改startWebLogic.cmd文件,設置set JAVA_HOME=D:\bea\jdk141_05,使其指向weblogic自帶的jdk;重啟startWebLogic.cmd問題消失。

          2)錯誤報Deployment descriptor "web.xml" is malform
          ed. Check against the DTD: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find

          錯誤原因及解決辦法:解析web.xml出現問題,修改OPEN_CMS\webapp\WEB-INF\web.xml文件;在該文件的 最上面添加如下內容:

          <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
          "http://java.sun.com/dtd/web-app_2_3.dtd">

          重新啟動錯誤消失。

          3)錯誤為Deployment descriptor "/WEB-INF/
          web.xml" is malformed. Check against the DTD: The content of element type "t
          ag" must match "(name,tag-class,tei-class?,body-content?,display-name?,small-ico
          n?,large-icon?,description?,variable*,attribute*,example?)". (line 40, column 11
          ).>

          錯誤原因及解決辦法:由于weblogic8在解析xml文件時,對xml文件的內容格式要求特別嚴格;必須按照xml格式的要求

          及排列順序,所以必須重新組織其內容,一定嚴格要注意順序,如 <servlet>就不能放在<servlet-mapping>后面。

          4)錯誤java.lang.SecurityException: Prohibited package name: java.lang

          錯誤原因及解決辦法:訪問包可視的方法或變量錯誤;這個錯誤恨少見,一直沒有想明白其中緣由;后來只能采用直接引用jar文件的法子解決該問題;

          i)利用opencms自帶的build.xml文件,運行ant jar命令;生成opencms.jar和webdav.jar兩個文件

          ii)在startWebLogic.cmd添加如下內容,引進上面的2個jar文件

          set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\build\opencms.jar
          set CLASSPATH=%CLASSPATH%;%OPEN_CMS%\build\webdav.jar

          大家有興趣的可以參考《透視JAVA——反編譯、修補和逆向工程技術》這本書的$4.2章的內容,如果找到更好的解決方法也請來信告知,謝謝~_~

          5)其它注意事項,在eclipse下最好采用和運行weblogic一樣的jdk版本進行編譯,否則會出現文件訪問版本不一致的bug

          posted @ 2008-08-19 14:14 飛飛 閱讀(1512) | 評論 (0)編輯 收藏

          僅列出標題
          共12頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
          主站蜘蛛池模板: 化隆| 三都| 柳河县| 龙南县| 侯马市| 兴国县| 会理县| 离岛区| 安多县| 青铜峡市| 马龙县| 南乐县| 通榆县| 深水埗区| 滕州市| 北川| 安仁县| 宁陕县| 金门县| 淳化县| 耿马| 临朐县| 西林县| 永德县| 平利县| 同江市| 仪征市| 贵溪市| 十堰市| 昭觉县| 那曲县| 塔城市| 张掖市| 息烽县| 贵港市| 巴林左旗| 馆陶县| 芒康县| 永顺县| 河间市| 剑阁县|