快速业务通道

iBATIS模糊查询的实现实例浅析 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

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

时间:2011-10-13

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模糊查询的是实现有所帮助。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号