iBATIS模糊查询的实现实例浅析
创始人
2024-04-19 07:21:05
0

iBATIS模糊查询的实现是如何的呢?让我们先看看例子,仿照Java的Spring+Ibatis+Struct用Castle+IBatisNet+Asp.net的开发框架的DAO的基类:BaseSqlMapDao内定义了一个内部类来辅助模糊查询。内部类代码如下:

  1. protected internal  class KeyWordSearch   
  2.   {  
  3.    private IList keywordList = new ArrayList();  
  4.  
  5.    public KeyWordSearch(String keywords)   
  6.    {  
  7.     StringTokenizer splitter = new StringTokenizer(keywords, " ", false);  
  8.     string token = null;  
  9.  
  10.     IEnumerator enumerator = splitter.GetEnumerator();  
  11.  
  12.     while (enumerator.MoveNext())   
  13.     {  
  14.      token = (string)enumerator.Current;  
  15.      keywordList.Add("%" + token + "%");  
  16.     }  
  17.    }  
  18.  
  19.    public IList KeywordList   
  20.    {  
  21.     get  
  22.     {  
  23.      return keywordList;  
  24.     }  
  25.    }  
  26.   } 

在需要使用iBATIS模糊查询的数据访问类的方法中使用方法如下:

例如数据访问类PersonInfoDao继承自BaseSqlMapDao,方法

  1. ///   
  2.   /// 检索求职者信息,根据关键字检索  
  3.   /// 
  4.  
  5.   public IList SearchPersonInfoList(string keywords)  
  6.   {  
  7.    object parameterObject = new KeyWordSearch(keywords);  
  8.    return this.ExecuteQueryForList("SearchPersonList", parameterObject);  
  9.   }  
  10.  
  11.  
  12.    select UserId,UserName,Sex,Birthday,Mobile,HomeTel,EMail,LivingArea,  
  13.             RegisteredLocus,GraduateSchool,MajorSpecialty,JobExperience,MonthlyPay,  
  14.             Special,Resume,city.code,city.name,person.NationId,Nation.NationName,  
  15.             person.JobId,job.jobName,person.degreeId,degree.DegreeName  
  16.             from Career_PersonInfo person ,Career_Nation nation,Career_Job job,Career_City city,Career_Degree degree  
  17.             where person.CityCode = city.code and person.NationId = nation.NationId and person.jobid = job.jobId  
  18.             and person.degreeId = degree.degreeId  
  19.                
  20.       
  21.      lower(job.jobName) like #KeywordList[]#   
  22.       
  23.      
  24.    

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

【编辑推荐】

  1. iBATIS映射文件基础浅谈
  2. iBATIS ParameterMap配置实例浅析
  3. iBATIS ResultMap基础浅析
  4. iBATIS CacheModel使用浅析
  5. iBATIS分页实例中ObjectDataSource的应用浅析

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...