程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> iBATIS模糊查詢的實現實例淺析

iBATIS模糊查詢的實現實例淺析

編輯:關於JAVA

iBATIS模糊查詢的實現是如何的呢?讓我們先看看例子,仿照Java的Spring+Ibatis+Struct用Castle+IBatisNet+Asp.net的開發框架的DAO的基類:BaseSqlMapDao內定義了一個內部類來輔助模糊查詢。內部類代碼如下:

protected internal  class KeyWordSearch
  {
   private IList keywordList = new ArrayList();

   public KeyWordSearch(String keywords)
   {
    StringTokenizer splitter = new StringTokenizer(keywords, " ", false);
    string token = null;

    IEnumerator enumerator = splitter.GetEnumerator();

    while (enumerator.MoveNext())
    {
     token = (string)enumerator.Current;
     keywordList.Add("%" + token + "%");
    }
   }

   public IList KeywordList
   {
    get
    {
     return keywordList;
    }
   }
  }

在需要使用iBATIS模糊查詢的數據訪問類的方法中使用方法如下:

例如數據訪問類PersonInfoDao繼承自BaseSqlMapDao,方法

/// <summary>
  /// 檢索求職者信息,根據關鍵字檢索
  /// </summary>
  public IList SearchPersonInfoList(string keywords)
  {
   object parameterObject = new KeyWordSearch(keywords);
   return this.ExecuteQueryForList("SearchPersonList", parameterObject);
  }

<select id="SearchPersonList" resultMap="PersonResult">
   select UserId,UserName,Sex,Birthday,Mobile,HomeTel,EMail,LivingArea,
            RegisteredLocus,GraduateSchool,MajorSpecialty,JobExperience,MonthlyPay,
            Special,Resume,city.code,city.name,person.NationId,Nation.NationName,
            person.JobId,job.jobName,person.degreeId,degree.DegreeName
            from Career_PersonInfo person ,Career_Nation nation,Career_Job job,Career_City city,Career_Degree degree
            where person.CityCode = city.code and person.NationId = nation.NationId and person.jobid = job.jobId
            and person.degreeId = degree.degreeId
            <dynamic prepend="and">
    <iterate property="KeywordList" open="" close="" conjunction="OR">
     lower(job.jobName) like #KeywordList[]#
    </iterate>
   </dynamic>
  </select>

iBATIS模糊查詢的情況就向你介紹到這裡,希望通過例子能夠使你對iBATIS模糊查詢的是實現有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved