iBATIS模糊查询的实现实例浅析

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,方法

/// 

  /// 检索求职者信息,根据关键字检索  /// 

  public IList SearchPersonInfoList(string keywords)  {   object parameterObject = new KeyWordSearch(keywords);   return this.ExecuteQueryForList("SearchPersonList", parameterObject);  }   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                     lower(job.jobName) like #KeywordList[]#         

iBATIS模糊查询的情况就向你介绍到这里,希望通过例子能够使你对iBATIS模糊查询的是实现有所帮助。

梦想不分高低贵贱,只要你心中有梦,乐观充实地过好每一天。

iBATIS模糊查询的实现实例浅析

相关文章:

你感兴趣的文章:

标签云: