`
t641339564
  • 浏览: 27574 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

IBatisNet 模糊查询

    博客分类:
  • C#
阅读更多

<select id="Client_Search" resultMap="Client_AllColumns_search"  parameterClass="Client">
   SELECT
   Client.*,
   <!--要查询的字段,如果一级行业为空则不查询-->
     <isNotNull prepend="" property="FirstIndustry">
    Industry.[Industry_Name],
    Industry.[Industry_Id],
   </isNotNull> 
 
   Users.[UserName],
   Users.[UserRealName],
   Users.[UserId]

   FROM Client,Users
  <!--判断是否要连接表-->
  <isNotNull prepend="," property="FirstIndustry">Industry</isNotNull>
   
   
   <isEmpty prepend="" property="BethroughItemArray" >
   <isNotEmpty prepend="," property="ItemArray">BusinessModel,Business_Note,Project</isNotEmpty>
   </isEmpty>

   <isEmpty prepend="" property="ItemArray" >
    <isNotEmpty prepend="," property="BethroughItemArray">BusinessModel,Business_Note,Project</isNotEmpty>
   </isEmpty>

   <isNotEmpty prepend="," property="BethroughItemArray" >
    <isNotEmpty prepend="" property="ItemArray">BusinessModel,Business_Note,Project</isNotEmpty>
   </isNotEmpty>
   where  Users.[UserId]=Client.[Import_User_Id] and Client.[Client_Sign]=0


   <!--一级行业-->
   <isNotNull prepend="AND" property="FirstIndustry">
    Client.First_Industry=#FirstIndustry#
    and Client.First_Industry=Industry.Industry_Id
   </isNotNull>
   <!--二级行业-->
   <isNotNull prepend="AND" property="SecondIndustry">
    Client.Second_Industry=#SecondIndustry# 
   </isNotNull>
     <!--客户名称 模糊查询-->
   <isNotEmpty prepend="AND" property="ClientName">Client.Client_Name like '%$ClientName$%'</isNotEmpty>
   <!--查询代码-->
   <isNotEmpty prepend="AND" property="ClientCode">Client.Client_Code like '%$ClientCode$%'</isNotEmpty>
     <!--其他录入人-->
   <isNotEmpty prepend="AND" property="IsUser">Client.Import_User_Id!=#ImportUserId#</isNotEmpty>
   <!--所在省-->
   <isNotNull prepend="AND" property="ProvinceID">Client.provinceID=#ProvinceID#</isNotNull>
   <!--客户编号-->
   <isNotEmpty prepend="AND" property="ClientId">Client.Client_Id  like '%$ClientId$%'</isNotEmpty>
   <!--做过的项目 在类里传一个ArrayList-->   

<isNotEmpty prepend="AND" property="BethroughItemArray">
  
    <iterate  prepend="" property="BethroughItemArray" open="("  close=")"  conjunction="and" >
     Client.Id in (select BusinessModel.Client_Auto_Id from BusinessModel,Business_Note where Business_Note.Business_Id=BusinessModel.Business_Id
     and Business_Note.Project_Id=#BethroughItemArray[].Value#)
    </iterate>    
   </isNotEmpty>
    </select>

分享到:
评论

相关推荐

    IBatisNet和NHibernate模版

    **IBatisNet与NHibernate:两种主流ORM框架的深度解析** 在.NET开发环境中,数据库操作是不可或缺的一部分。为了简化数据库访问层的复杂性,开发者通常会选用Object-Relational Mapping (ORM) 框架。IBatisNet和...

    ibatisnet教程全文

    SQL映射文件是IbatisNet的核心,它定义了数据库查询、插入、更新和删除操作,以及这些操作与.NET对象的对应关系。例如,一个简单的用户查询映射可能如下所示: ```xml SELECT * FROM Users WHERE Id = #{id} ```...

    IBatisNet开发使用帮助文档

    开发者需要根据实际的数据库结构和业务需求,在SqlMap.xml文件中编写SQL映射,然后在C#代码中调用IBatisNet提供的API进行数据操作,例如插入、更新、查询和删除。 8. **优势与应用场景** IBatisNet的优势在于其...

    IbatisNet从入门到精通(由源码详细介绍)

    6. **处理结果**:IbatisNet会自动将查询结果映射到预先定义的对象模型上,方便后续的业务逻辑处理。 7. **缓存机制**:如果启用了缓存,IbatisNet会将执行过的查询结果存储在内存中,提高数据访问速度。可以通过...

    IBatisNet-执行存储过程

    这种方式便于将数据库查询结果映射到对象模型上。 #### 参数映射(`parameterMap`) ```xml ``` 参数映射定义了存储过程中使用的参数及其类型。在这个例子中,定义了一个名为`swapParas`的参数映射,...

    IbatisNet项目实例.rar

    iBATISNet Database Layer!这个框架将让你能够更好的在dotnet应用中设计和实现实体层。这个框架有两个主要的组成部分,一个是SQL Maps,另一个是Data Access Objects。下面是一个简单的iBATISNet应用架构。 项目中...

    IBatisNet 框架 项目实例

    4. **处理结果集**:将查询结果映射到业务对象,通过泛型方法自动完成。 **七、事务控制** 1. **手动事务**:在业务逻辑中控制事务的开启、提交和回滚。 2. **自动事务**:利用AOP(面向切面编程)实现事务的自动...

    IBatisNet 框架

    在`IBatisNetDemo`这个示例中,我们可以看到如何使用IBatisNet进行基本的数据访问操作,如插入、更新、删除和查询。它通常包括以下步骤: 1. 创建.NET类,类的属性对应数据库表的字段。 2. 编写XML映射文件,定义...

    IBatisNet-源代码

    **IBatisNet 源代码分析** IBatisNet 是一个基于 .NET 平台的对象关系映射(ORM)框架,它允许开发人员将数据库访问层与业务逻辑层解耦,提高开发效率和代码可维护性。这个源码库提供了一个深入理解 IBatisNet 内部...

    C#, IbatisNet

    而IbatisNet是MyBatis的.NET版本,是一个轻量级的数据持久层框架,它提供了SQL映射功能,允许开发者编写动态、灵活的SQL查询,从而与数据库进行交互。 在C#中集成IbatisNet,可以极大地简化数据访问层的开发工作,...

    ibatisnet 1-6篇(全)教程.rar

    5. **参数映射与结果映射**:教程会详细解释如何将方法参数映射到SQL语句的占位符,以及如何将查询结果自动映射到.NET对象。这涉及到ParameterMap和ResultMap的使用,以及自定义类型处理器。 6. **事务管理**:...

    IBatisNet源代码

    7. **缓存机制**: IBatisNet提供了缓存功能,可以缓存查询结果,减少对数据库的访问,提高系统性能。开发者可以配置不同级别的缓存,例如,本地缓存和二级缓存。 8. **扩展性**: IBatisNet的架构设计使得它易于扩展...

    iBatisNet+SQLlite DEMO

    这个DEMO中的`SQLLiteDemo`可能包含了完成上述步骤的所有必要文件,包括`ibatisnet.config`、实体类、映射文件以及执行查询的测试代码。通过这个DEMO,你可以学习到如何在.NET项目中使用iBatisNet连接SQLite数据库,...

    ibatisnet下载

    2. **高度可配置**:通过XML配置文件,你可以定制SQL语句、存储过程等,实现灵活的数据查询和更新操作。 3. **缓存机制**:支持第一级和第二级缓存,提高数据读取性能,减少对数据库的频繁访问。 4. **事务管理**:...

    Ibatisnet大合集

    Ibatisnet是一个基于.NET平台的轻量级持久层框架,它是MyBatis的.NET版本,致力于简化数据库操作,提供了一种灵活的SQL映射机制,让开发者能够将SQL语句直接写在配置文件中,避免了传统的ADO.NET操作中大量的数据库...

    MonoRail+IBatisNet +Velocity

    IBatisNet的核心特点是动态SQL,它允许在SQL语句中直接进行条件判断和循环,提高了查询的灵活性和性能。在配置好后,你会发现IBatisNet的强大之处在于它能很好地处理复杂的数据库交互,减少了数据访问层的代码量。 ...

    IBatisnet 三层架构 通俗易懂

    本篇文章将详细探讨IBatisnet框架如何在这样的架构中发挥作用,以及如何帮助初学者理解并构建可扩展、易于维护的系统。 **表现层(Presentation Layer)** 表现层是用户与系统交互的界面,通常包括Web页面、Windows...

    Ibatisnet介绍和使用

    Ibatisnet,全称为iBATIS .NET,是一款基于.NET平台的持久层框架,它主要解决了在使用ADO.NET操作数据库时遇到的一些问题,比如SQL语句与代码难以分离、各层之间的耦合度过高等。iBATIS的核心在于通过XML配置文件...

    IBatisNet+Castle项目实例

    在IBatisNet中,SQL语句被定义在XML配置文件中,允许开发者自由地编写复杂的查询,而无需过度依赖ORM的自动映射。此外,IBatisNet支持存储过程、事务管理以及多数据源配置,使得数据库操作更加灵活和高效。 2. **...

Global site tag (gtag.js) - Google Analytics