本篇内容主要讲解“iBATIS模糊查询的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“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,方法
/// <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模糊查询的是实现有所帮助。
到此,相信大家对“iBATIS模糊查询的实现方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。