字串日期轉化為oracle.jbo.domain.Date和oracle.jbo.domain.Timestamp類型

來源:互聯網
上載者:User

描述:
在平常的開發過程中,會發現日期的類型有許多種,有java.lang.Date,java.sql.Date,oracle.jbo.domain.Date,還有時間戳記oracle.jbo.domain.Timestamp等等。經常也會遇到這些類型之間的相互轉化。本次講述日期文字轉化為oracle.jbo.domain.Date與oracle.jbo.domain.Timestamp的類型。

需求:
在xe資料庫中的employees表中找出僱傭日期(hire_date)在某個時間(自己定義)之前,並且職位編號(job_id)只屬於('AD_PRES', 'AD_VP', 'IT_PROG')三種類型的員工。

實現:

單純用sql語句去查詢很簡單,例如。

select * from employees<br />where job_id in ('AD_PRES', 'AD_VP', 'IT_PROG')<br /> and hire_date <= to_date('1992/1/1', 'yyyy/dd/mm')

這裡為了更好地講述問題,採用建立子查詢的方式去查詢合格員工。

1. 基於表Employees,建立EmployeesEO,EmployeesVO。在EmployeesVO中建立一個子查詢,用來查詢合格員工。首先在vo上面建立一個綁定變數。

2. 然後再vo中建立子查詢EmployeesVC,並且HireDate屬性綁定到上面建立的綁定變數bvHireDate上。

3. 建立jspx頁面,SearchEmployees.jspx,布局大概如下

4. 產生對應backingBean,SearchEmployees類,把search的action綁定到SearchAction方法上,處理查詢邏輯。首先把介面上的inputDate組件綁定到backingBean中,一邊在後台取出介面上輸入的值,然後把得到的字串日期,轉化為oracle.jbo.domain.Date或者oracle.jbo.domain.Timestamp類型。

首先在backingBean的SearchEmployees類中編寫

public class SearchEmployees extends CustomManagerBean {<br /> private RichInputDate inputDate;<br /> public SearchEmployees() {<br /> }<br /> public void setInputDate(RichInputDate inputDate) {<br /> this.inputDate = inputDate;<br /> }<br /> public RichInputDate getInputDate() {<br /> return inputDate;<br /> }</p><p> public String searchAction() {<br /> String inDate = this.getInputDate().getValue().toString();<br /> System.out.println(inDate);<br /> DateFormat formatter;<br /> java.util.Date date = null;<br /> Timestamp time = null;</p><p> try {<br /> formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");<br /> date = formatter.parse(inDate);<br /> time = new Timestamp(date.getTime());<br /> System.out.println(time);</p><p> } catch (ParseException e) {<br /> e.printStackTrace();<br /> }</p><p> OperationBinding binding = this.findOperation("search");<br /> binding.getParamsMap().put("time", time);<br /> binding.execute();<br /> return null;<br /> }<br />}<br />

在AM的實作類別中實現search方法

public void search(Timestamp time) {<br /> EmployeesVOImpl vo = (EmployeesVOImpl)this.getEmployeesVO1();<br /> vo.setbvHireDate(time);<br /> ViewCriteria vc = vo.getViewCriteria("EmployeesVC");<br /> vo.applyViewCriteria(vc);<br /> vo.executeQuery();<br /> }

5. 運行結果

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.