`
pavel
  • 浏览: 930490 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IBatisNet使用方法(五)动态SQL

阅读更多

动态sql就可以解决相关的多表链接查询以及模糊查询的问题

    <select id="SelectEemployee" parameterClass="string" resultMap = "MemberMap">

         select CardNo,Name from Member

         <dynamic prepend="WHERE">

<isParameterPresent>

User_ID = #value#

</isParameterPresent>

</dynamic>

</select>

动态sql写法

<dynamic prepend ="WHERE">           表示动态sql开始,如果关联表 prepend ="AND",可以为""

    <关键字

         <!关键字可以为以下                 相关含义

         <isEqual>                                                         参数等于值

                 <isNotEqual>                                              参数不等于值

                 <isGreaterThan>                                         参数大于值

                 <isGreaterEqual>                                         参数大于等于值

                 <isLessEqual>                                             参数小于等于值

                 <isPropertyAvailable>                                   参数被使用

                 <isNotPropertyAvailable>                              参数没有使用

                 <isNull>                                                     参数 is null

                 <isNotNull>                                                参数 is not null

                 <isEmpty>                                                 参数为空

                 <isNotEmpty>                                            参数不为空

                 <isParameterPresent>                                  参数类不为NULL

                 <isNotParameterPresent>                             参数类为NULL

-- >

prepend="AND"                        连接关键字

property="UserID"                    参数

compareValue="20">                   值,也可以为属性名来比较

  </关键字>

1.相关sql ,就是动态sql要添加的条件,比如:

Name =#value# 

2.重复元素,这个属性适合一个集合,比如SQL中的in 后的集合等

<iterate prepend="AND"               连接关键字

property="NameList"         参数

         open="("                    open后的串为开始括号作用“(”

close=")"                   close后的串为结束括号作用“)”

conjunction="OR">           连接方式 AND 或OR,每个元素之间的符号

         Name=#NameList[]#

    </iterate>

    --以上相当与SQL

    And Name = /open   #NameList[0] or/conjunction #NameList[1] or ./close

 

</dynamic>

 

 

 

但如果进行动态sql操作的话,就相当麻烦了,不如采用存储过程,在存储过程中操作即可。

在xml中配置简单的增,删,改,查功能,如一句sql就可以解决的问题再在xml中配置能让使用更加方便,快捷。

最近遇到一个问题,如果所有xml中的id重合的话不行,注意这个问题。起名字的话加个V1啥的。

分享到:
评论

相关推荐

    ibatisnet連接sql server 2008連接方法

    IbatisNet还支持存储过程的调用,动态SQL,事务管理等高级功能。在实际开发中,你可以根据需求进行选择和配置,实现高效、灵活的数据访问。 综上所述,IbatisNet连接SQL Server 2008的过程包括配置SqlMapConfig.xml...

    ibatisnet教程全文

    本教程旨在全面讲解IbatisNet的机制、使用方法以及实践技巧。 IbatisNet的核心理念是SQL映射,它允许开发者编写自定义的SQL语句,并将这些语句与.NET对象模型关联起来。这种设计使得开发者能够充分利用SQL的能力,...

    IBatisNet开发使用帮助文档

    4. **使用IBatisNet的准备工作** - 下载IBatisNet软件包,包括DataMapper和DataAccess组件,以及可能的源码或示例项目。 - 创建测试数据库并定义相关表,例如在本例中创建了Person表,包含PER_ID、PER_FIRST_NAME...

    Ibatisnet介绍和使用

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

    C# sqlserver数据库(2008版本以上)一键生成IBatisNet映射文件 C#对象实体 简单增删改查BLL

    最近做公司的项目自己搭建了一套系统,想了好久决定放弃Entity Framework框架用一下IBatisNet这个很老旧的ORM框架(至于为什么要用它呢?也不是很清楚就是想用于是就用了。。。。。。),初期因为项目里有好多业务...

    IBATIS IBATISNET使用与学习

    【标题】"IBATIS与IBATISNET:使用与学习" 在软件开发领域,数据库操作是不可或缺的一部分,而IBATIS作为一个优秀的持久层框架,为开发者提供了方便、灵活的数据访问接口。本资源包含了对IBATIS及其.NET版本...

    IBatisNet 框架 项目实例

    IBatisNet 是一个流行的开源数据访问框架,它提供了一种将业务逻辑与数据库操作分离的方法,使得开发者可以更专注于编写应用程序的核心业务代码,而无需过于关心底层的SQL语句实现。本项目实例将深入探讨如何使用...

    IBatisNet和NHibernate模版

    它提供了一种将业务对象与SQL语句进行映射的方法,使得开发者可以避免编写大量的数据访问代码。 **核心特性:** 1. **SQL映射文件**:IBatisNet通过XML配置文件定义SQL语句和对象之间的映射关系,保持了SQL的灵活性...

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

    7. **动态SQL**:iBatisNet的一个强大特性是支持动态SQL,允许在运行时构建SQL语句,提高了代码的灵活性。教程可能会讲解如何使用If、Where、Choose等元素来实现动态条件。 8. **缓存机制**:iBatisNet提供了缓存...

    IBatisNET应用示例(实现增删改查)

    项目名称:IBatisNEt实践项目 功能描述:利用IBatis NET实现对单表的增删改查 操作 开发工具:vs2005,SQL2005 开发环境:WindowServer2003(WindowXP下也可运行) 开发语言:C#,JQuery,ASP.NET 架构模式:BS架构 (备注:...

    IBatisNet源代码

    此外,IBatisNet还提供了动态SQL的功能,允许在运行时构建和修改SQL语句,增强了灵活性。 另外,事务管理是数据库操作中的关键环节。IBatisNet支持两种事务管理模式:自动提交和手动控制。在自动提交模式下,每个...

    IBatisNet在.NET中的使用总结

    #### 五、IBatisNet的实战应用 IBatisNet的实际应用涵盖了从基本的CRUD操作到复杂的事务处理。通过在XML映射文件中定义SQL语句,可以轻松执行查询、更新、插入和删除等操作。此外,IBatisNet支持高级功能,如缓存...

    IBatisNet 框架

    本文将深入探讨IBatisNet的核心特性和使用方法。 ### 1. ORM(对象关系映射) ORM是IBatisNet的核心,它将数据库表与.NET类关联,通过映射文件定义了数据库表字段与类属性之间的对应关系。ORM的主要优点是解耦了...

    ibatisnet下载

    特别是在数据操作相对复杂,需要大量自定义SQL的情况下,IbatisNet的灵活性和动态SQL功能能显著提升开发效率。 **最佳实践:** 1. **合理设计对象模型**:对象模型应与数据库结构保持一致,以充分利用ORM的优势。 2...

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

    IBatisNet是一个面向.NET平台的对象关系映射(ORM)框架,它的主要功能是将数据库操作与业务逻辑解耦,使得开发者可以使用简单的XML映射文件来定义SQL语句与对象之间的关系。通过这种方式,开发人员可以专注于编写...

    IBatisNet-源代码

    这部分源码实现了数据映射的核心功能,包括 SQL 映射文件解析、动态 SQL 生成、参数绑定、结果集映射等。数据映射器(DataMapper)接口定义了与数据库交互的方法,如 ExecuteQuery、ExecuteInsert、ExecuteUpdate ...

    ibatisnet使用心得

    动态SQL是IBatisNet的一个重要特性,它允许开发人员根据不同的条件动态生成SQL语句。这一特性极大地提高了IBatisNet的灵活性和实用性。例如,在编写查询语句时,可以根据用户输入的不同参数动态决定是否包含某个...

    C#, IbatisNet

    这通常通过使用动态SQL实现,例如在XML映射文件中使用、、、等标签来条件化SQL语句。例如,当用户输入搜索关键词时,可以根据关键词动态拼接WHERE子句,使得查询更具有灵活性。 在实际开发中,IbatisNet还可以结合...

Global site tag (gtag.js) - Google Analytics