1.动态SQL:在SQL语句中加入流程控制。比如加入if,foreach等。

重点掌握if语句:

案例1:

<update id="updateItem" parameterType="com.gxa.bj.model.UserInfo">

update userinfo set

<if test="userName!=null">

userName = #{userName},

</if>

<if test="userPwd!=null">

userPwd = #{userPwd},

</if>

<if test= "userEmail!=null">

userEmail = #{userEmail},

</if>

<if test= "userAddress!=null">

userAddress = #{userAddress},

</if>

<if test= "regReason!=null">

regReason = #{regReason},

</if>

userId=#{userId} Where userId=#{userId}

</update>

案例2:

<select id="getList" parameterType="com.gxa.bj.model.UserInfo" resultType="com.gxa.bj.model.UserInfo">

Select * From userInfo Where 1=1

<if test="userName!=null">

And userName like #{userName}

</if>

<if test="userId>0">

And userId =#{userId}

</if>

<if test="userPwd!=null And userPwd!=''">

And userPwd like #{userPwd}

</if>

</select>

mybatis框架中动态SQL的编写的更多相关文章

  1. mybatis框架(5)---动态sql

    那么,问题来了: 什么是动态SQL? 动态SQL有什么作用? 传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个空格,都会导致错误.Mybatis的动态S ...

  2. mybatis框架中 动态代理的问题

    在配置文件时候 id唯一性 所以不允许重载 <select id=" querydemo"   resultType="pojo"> sql 语句  ...

  3. 详解Java的MyBatis框架中SQL语句映射部分的编写

    这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件 ...

  4. MyBatis中动态SQL元素的使用

    掌握MyBatis中动态SQL元素的使用 if choose(when,otherwise) trim where set foreach <SQL>和<include> 在应 ...

  5. Mybatis中动态SQL多条件查询

    Mybatis中动态SQL多条件查询 mybatis中用于实现动态SQL的元素有: if:用if实现条件的选择,用于定义where的字句的条件. choose(when otherwise)相当于Ja ...

  6. Mybatis中动态SQL语句中的parameterType不同数据类型的用法

    Mybatis中动态SQL语句中的parameterType不同数据类型的用法1. 简单数据类型,    此时#{id,jdbcType=INTEGER}中id可以取任意名字如#{a,jdbcType ...

  7. Mybatis框架中实现双向一对多关系映射

    学习过Hibernate框架的伙伴们很容易就能简单的配置各种映射关系(Hibernate框架的映射关系在我的blogs中也有详细的讲解),但是在Mybatis框架中我们又如何去实现 一对多的关系映射呢 ...

  8. mybatis 详解------动态SQL

    mybatis 详解------动态SQL   目录 1.动态SQL:if 语句 2.动态SQL:if+where 语句 3.动态SQL:if+set 语句 4.动态SQL:choose(when,o ...

  9. mybatis学习 十 动态 SQL

    1.  根据方法传入的参数不同执行不同的 SQL 命令.称为动态 SQL, MyBatis 中动态 SQL 就是在 mapper.xml 中添加逻辑判断等. 2. <if>标签 <s ...

随机推荐

  1. 配置 Haproxy 防范 DDOS 攻击

    作为 load balancer, Happroxy 常常作为服务器的前端,向外界用户提供服务的入口,如果能在入口处处理安全相关问题,将极大简化后端的设计.事实上,Haproxy 不仅仅是一款开源出色 ...

  2. 一、MMA概述

    一.MMA概述                     返回目录页1.MMA的使用2.函数3.表达式4.数值计算和符号计算5.数据的表示6.程序设计-------------------------- ...

  3. javascript 零星知识点

    通过js动态生成的元素绑定事件.不能通过js获取元素对象,并赋予事件,最简捷的途径就是将事件直接添加到属性中(DOM0);

  4. SQL Server中Rowcount与@@Rowcount的用法

    rowcount的用法: rowcount的作用就是用来限定后面的sql在返回指定的行数之后便停止处理,比如下面的示例, set rowcount 10select * from 表A 这样的查询只会 ...

  5. lamp 安装 apache php

    http://www.cnblogs.com/CheeseZH/p/4694135.html

  6. c#winform窗体嵌入

    最近开发项目,错误的理解了需求,自己做了个窗体的嵌套,虽然是错误的理解了,但是功能还是实现了,做下标记,需要时可以拿来看看. 新建两个窗体Form1和Form2,现在需要将Form2显示到Form1里 ...

  7. I2C总线和S5PV210的I2C总线控制器

    一.什么是I2C通信协议? 1.物理接口:SCL + SDA (1)SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道. (2)SDA(serial ...

  8. git ssh端口号变更之后所需要的修改

    假设原本的repository地址为:git@gitlab.cjx.com:jinxin/project2.git 端口变更之后,需要调整为:ssh://git@gitlab.cjx.com:PORT ...

  9. c语言中三个点的解释 : variadic

    3.6 Variadic Macros A macro can be declared to accept a variable number of arguments much as a funct ...

  10. oracle 调用java

    1.首先在PL/SQL中创建JAVA类,并编译 例如:这个是到的一个查询目录下面文件列表的java类 创建此java 类用: create or replace and compile java so ...