我仿照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; } } } 在需要使用模糊查询的数据访问类的方法中使用方法如下: 例如数据访问类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>本文来自云栖社区合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号
相关资源:七夕情人节表白HTML源码(两款)