`
zjxs_sky100
  • 浏览: 30280 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

请您先登录,才能继续操作

ibatis动态拼接

 
阅读更多
<select id="selectAllProducts" parameterClass="Product" resultMap="ProductResult">
     select id,note from Product
       <dynamic prepend="WHERE">
       <!-- isNotNull判断参数是否存在,Integer类型 -->
            <isNotNull property="id">
                <!-- isGreaterThan判断参数是否大于compareValue,isGreaterEquals是大于等于 -->
                <isGreaterThan prepend=" and " property="id" compareValue="0">
                 id = #id#
                </isGreaterThan>
            </isNotNull>
            <!-- isNotEmpty判断字串不为空,isEmpty可以判断字串为空 -->
            <isNotEmpty prepend=" and " property="note">
            <!-- 模糊查询不能用#,#在是用prepareStatement的?插入参数,$是文本替换 -->
             note like '%$note$%'
            </isNotEmpty>
        </dynamic>
  </select>
 
用Map传参数
 
  <select id="selectAllProducts" parameterClass="java.util.HashMap" resultMap="ProductResult">
     select id,note from Product
       <dynamic prepend="WHERE">
       <!-- isPropertyAvailable判断属性是否有效 -->
          <isPropertyAvailable property="id">
            <isNotNull property="id">
                <!-- isLessThan判断参数是否小于compareValue,isLessEquals是小于等于 -->
                <isLessThan prepend=" and " property="id" compareValue="10">
                 id = #id#
                </isLessThan>
            </isNotNull>
          </isPropertyAvailable>
        </dynamic>
  </select>
<!--------------------------------------------------------------------几个常用属性-->

<isPropertyAvailable> 属性是存在
<isNotPropertyAvailable> 属性不存在
<isNull> 属性值是null
<isEmpty> 判断Collection.size<1或String.length()<1
<isEqual> 等于
<isNotEqual> 不等于
<isGreaterThan> 大于
<isGreaterEqual> 大于等于
<isLessThan> 小于
<isLessEqual> 小于等于
分享到:
评论

相关推荐

    ibatis拼接字符串

    在本篇文章中,我们将深入探讨如何使用 Java 编程语言结合 iBatis 框架进行 SQL 字符串的动态拼接。通过分析提供的代码片段,我们可以了解到在实际开发过程中,这种动态 SQL 的构建方式非常常见,尤其是在处理复杂的...

    ibatis中使用安全的拼接语句,动态查询,大于、小于、等于.doc

    iBatis 中使用安全的拼接语句、动态查询、大于、小于、等于 iBatis 是一个流行的持久层框架,提供了许多强大的功能来帮助开发者构建高效、安全的数据库交互应用程序。本文将详细介绍 iBatis 中使用安全的拼接语句、...

    ibatis企业开发报表前调试(日志,复杂sql动态拼接)

    本篇将详细介绍如何利用日志来调试Ibatis中的复杂SQL动态拼接。 首先,了解Ibatis的日志系统是关键。Ibatis默认集成了几种常见的日志实现,如Log4j、Logback和Java内置的日志框架。在项目中,我们需要配置相应的...

    ibatis 连接字符串 SqlMapConfig.xml

    标题中的“ibatis 连接字符串 SqlMapConfig.xml”指的是使用iBATIS(一个轻量级的Java持久层框架)时,配置数据库连接的关键文件——SqlMapConfig.xml。这个文件是iBATIS的核心配置文件,它包含了数据源、事务管理器...

    ibatis中iterate的例子

    在iBatis中,`&lt;iterate&gt;`标签是一个非常实用的功能,它允许我们处理集合数据,如数组、List或Map等,进行循环遍历并生成动态SQL语句。下面我们将详细探讨`&lt;iterate&gt;`标签的用法及其示例。 `&lt;iterate&gt;`标签的主要...

    ibatis动态注入

    这些动态元素使得SQL语句可以根据传入的参数值动态地调整,避免了大量IF-ELSE语句或者字符串拼接,提高了代码的可读性和可维护性。 首先,我们来看一个简单的例子。以下是一个查询用户列表的SQL映射: ```xml ...

    ibatis、mybatis官方教程文档集合(含Manning.iBATIS.in.Action)

    Manning.iBATIS.in.Action.Jan.2007.eBook-BBL.pdf MyBatis 3 User Guide Simplified Chinese.pdf MyBatis-3.0.3-Migrations.pdf MyBatis-3.0.3-User-Guide.pdf MyBatis-3-Migrations.doc MyBatis-3-Migrations.pdf ...

    ibatis基本操作数据库

    在描述中提到的问题,"iBatis.net拼接字符串不能直接拷贝然后在dbms里执行",这实际上涉及到iBatis动态SQL的概念。iBatis并不鼓励直接复制SQL字符串到数据库管理系统(DBMS)进行执行,因为这样会丧失iBatis的一些...

    ibatis的动态查询

    ### ibatis的动态查询知识点详解 #### 一、模糊查询 **知识点1:** 在进行模糊查询时,ibatis支持两种不同的语法标记:`#` 和 `$`。 1. **使用 `$value$` 进行模糊查询:** - 在进行模糊查询时,使用 `$value$` ...

    ibatisDemo 入门源码

    1. 动态SQL:Ibatis支持在XML或注解中编写动态SQL,根据条件灵活拼接SQL。 2. 缓存:提供本地缓存和二级缓存,提高数据读取速度。 3. 参数映射:通过`@Param`注解或`&lt;param&gt;`标签实现参数绑定。 4. 结果映射:通过`@...

    ibatis基础知识详解

    Ibatis支持动态SQL,允许在XML配置文件中根据条件拼接SQL语句,极大地提高了SQL的灵活性和可维护性。 #### 3.2 参数映射 Ibatis能自动将Java对象的属性值映射到SQL语句的参数,反之也能将查询结果映射到Java对象。...

    ibatis小例子Demo

    2. **动态SQL**:Ibatis允许在XML映射文件中直接编写条件语句,如`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`等标签,实现SQL的动态拼接,增加了灵活性。 3. **Mapper接口**:Ibatis提供Mapper接口方式,可以将...

    ibatis教程 输入参数详解

    ibatis还支持动态SQL语句,可以根据业务逻辑动态生成SQL语句。例如,使用`&lt;if&gt;`元素可以实现条件判断,`&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`元素可以实现多条件分支,`&lt;trim&gt;`, `&lt;where&gt;`, `&lt;set&gt;`元素可以简化SQL...

    ibatis乱码解决方法(ibatis独立)

    - 如果在动态SQL中涉及到字符串拼接,务必确保字符串已经是正确的编码格式。例如,如果数据库使用GBK编码,那么拼接的字符串也应转为GBK。 5. **MyBatis拦截器处理**: - 可以自定义MyBatis拦截器,对输入参数...

    ibatis 资料大全

    3. **SQL动态化**:Ibatis支持动态SQL,通过条件标签(if、where、choose、when、otherwise等)可以根据业务需求动态构建SQL语句,避免了大量的字符串拼接。 4. **结果映射**:通过ResultMap,可以将查询结果自动...

    ibatis学习

    4. **动态SQL**:Ibatis支持在XML映射文件中编写动态SQL,可以根据条件动态地拼接SQL语句。 5. **参数映射和结果映射**:通过`&lt;parameterMap&gt;`和`&lt;resultMap&gt;`标签,可以定义复杂参数和结果对象的映射。 6. **缓存...

    ibatis的dynamicSQL中,关于prepend的使用

    在探讨ibatis中的动态SQL(Dynamic SQL)及`prepend`的使用时,我们首先需要对ibatis有一个基本的理解。ibatis是一种开源的数据访问层框架,它简化了Java应用程序与数据库之间的交互过程。通过使用XML配置文件来定义...

    ibatis实现原理解析

    2. 动态SQL:支持条件拼接,可以根据传入的参数动态生成SQL,提高了代码的可读性和灵活性。 3. 易于学习:Ibatis的学习曲线较平缓,开发者可以快速上手。 4. 高效性能:由于SQL语句直接由数据库执行,减少了中间层...

    ibatis 相关jar包

    - 动态SQL:在XML配置文件中可以编写动态SQL,根据条件动态拼接SQL语句。 3. **Java Web中的应用**: 在Java Web开发中,Ibatis 可以作为数据访问层(DAO)的实现,与Servlet、JSP、Spring等其他技术配合使用。...

Global site tag (gtag.js) - Google Analytics