MyBatis常用标签大全

_parameter

_parameter 表示当前传入的参数,如果查询的时候传入的参数只有一个,则使用 _parameter

E getById(Integer id); 
<select id="getById" parameterType="int" resultMap="BaseResultMap">
    SELECT *
    FROM
    库名.表名
    WHERE
    id = #{_parameter}
  </select> 

if判断

<select id="getUsers" parameterType="int" resultType="User">
    SELECT id, name, phone, email FROM users WHERE 1=1
    <if test="_parameter != null">
      and id > #{_parameter}
    </if>
  </select> 

大量重复的字段

<sql id="HHHHH">
    id,name
  </sql> 

引用写法

<include refid="HHHHH"/> 

foreach

1、item表示集合中每一个元素进行迭代时的别名,

2、index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,

3、open表示该语句以什么开始,

4、separator表示在每次进行迭代之间以什么符号作为分隔符,

5、close表示以什么结束,

<update id="updateBatch">
    <foreach item="item" index="index" collection="list" open=""
      close="" separator=";">
      <if test="item.statusType.toString() == 'DELETED'">
        DELETE FROM 库名.表名 WHERE id = #{item.id}
      </if>
      <if test="item.statusType.toString() != 'DELETED'">
        UPDATE 库名.表名
        <set>
          modifier = #{item.modifier,jdbcType=CHAR},
          <if test="item.account != null">
            account = #{item.account,jdbcType=VARCHAR},
          </if>
          <if test="item.name != null">
            name = #{item.name,jdbcType=VARCHAR},
          </if>
        </set>
        where
        库名.表名.id =#{item.id}
      </if>
    </foreach>
  </update> 

set

一定要非空判断

set为空会报错

<update id="updateFlow">
    UPDATE ufis.pid
    SET
<strong><span style="font-size:24px;"></span></strong><pre name="code" class="html"><if test="<pre name="code" class="html"><pre name="code" class="html">used_flow != null"></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<p></p>
<pre></pre>
<pre></pre>
 used_flow = used_flow + #{flow},<br>
</if><br>
 change_flow_time =#{changeFlowTime}WHEREid = #{id}</update>
<pre></pre>
<br>
<br>
<p></p>
           </pre></pre> 

以上所述是小编给大家介绍的MyBatis常用标签大全,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • MyBatis使用动态SQL标签的小陷阱

    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 现在MyBatis越来越受大家的喜爱了,它的优势大家都知道,我就不多说了,直接说重点. MyBatis中提供动态SQL功能,我们可以使用<if><when&

  • MyBatis的 config.xml标签

    <?xml version="1.0" encoding="UTF-8" ?> <configuration><!-- 配置 --> <!-- <properties resource="XXXXXX.properties" /> 或者使用properties配置文件 读取顺序优先级次之 读取顺序参数传递优先级最低 --> <properties><!-- 属性 --&

  • 详解MyBatis的getMapper()接口、resultMap标签、Alias别名、 尽量提取sql列、动态操作

    一.getMapper()接口 解析:getMapper()接口 IDept.class定义一个接口, 挂载一个没有实现的方法,特殊之处,借楼任何方法,必须和小配置中id属性是一致的 通过代理:生成接口的实现类名称,在MyBatis底层维护名称$$Dept_abc,selectDeptByNo() 相当于是一个强类型 Eg 第一步:在cn.happy.dao中定义一个接口 package cn.happy.dao; import java.util.List; import cn.happy.e

  • MyBatis常用标签大全

    _parameter _parameter 表示当前传入的参数,如果查询的时候传入的参数只有一个,则使用 _parameter E getById(Integer id); <select id="getById" parameterType="int" resultMap="BaseResultMap"> SELECT * FROM 库名.表名 WHERE id = #{_parameter} </select> if判

  • MyBatis常用标签以及使用技巧总结

    前言 MyBatis常用标签及标签使用技巧 MyBatis的常用标签有很多,比如 <sql id="">:预定义可以复用的sql语句 <include refid="">:根据id引用定义的sql语句 <trim>:空白补全,配合<if>标签使用 <if test="">:条件判断,该语句返回的true,则该标签内的语句就生效 <bind name="" val

  • Z-Blog常用标签大全(官方版)

    在学习Z-Blog模板标签之家大家应注意下面3点: 1. Z-BlogPHP 1.5之前的版本,在主题目录下会有一个compile文件夹,这里存放经过程序编译后的模板文件,请不要去修改. 2. 如果改动了模板文件,则需要重新编译模板才能看到改动效果.你可以在后台首页找到[清空缓存并重新编译模板]或重新激活主题刷新编译模板文件. 3. Z-BlogPHP模版标签调用方式为{$类名.(二级类名.)类属性},如 {$article.Title}: 显示文章标题的标签.这里article为文章类,Tit

  • Mybatis常用分页插件实现快速分页处理技巧

    在未分享整个查询分页的执行代码之前,先了解一下执行流程. 1.总体上是利用mybatis的插件拦截器,在sql执行之前拦截,为查询语句加上limit X X 2.用一个Page对象,贯穿整个执行流程,这个Page对象需要用Java编写前端分页组件 3.用一套比较完整的三层entity,dao,service支持这个分页架构 4.这个分页用到的一些辅助类 注:分享的内容较多,这边的话我就不把需要的jar一一列举,大家使用这个分页功能的时候缺少什么就去晚上找什么jar包即可,尽可能用maven包导入

  • Linux 常用命令大全(经典)

    Linux下常用指令大全cat cdchmod chowncp cut名称:cat使用权限:所有使用者使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)参数:-n-b-s-v或或或或--number 由 1 开始对所有输出的行数编号--number-nonblank 和 -n 相似,只不过对于空白行不编号--squeeze-blank 当遇到有连续两行以上的空白行

  • 详解MyBatis 常用写法

    什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. 1.forEach 循环   forEach 元素的属性主要有 item, idnex, collection,

  • mybatis foreach标签的使用详解

    mybatis的foreach标签经常用于遍历集合,构建in条件语句或者批量操作语句. 下面是foreach标签的各个属性 属性 描述 collection 表示迭代集合的名称,可以使用@Param注解指定,如下图所示 该参数为必选 item 表示本次迭代获取的元素,若collection为List.Set或者数组,则表示其中的元素:若collection为map,则代表key-value的value,该参数为必选 open 表示该语句以什么开始,最常用的是左括弧'(',注意:mybatis会将

  • MyBatis常用动态sql大总结

    简介 相信大家没用Mybatis之前,都碰到过各种条件判断拼接SQL.需要去掉多余的逗号等痛苦,Mybatis中的动态SQL能很好的解决上面说的情况,可以很灵活的组装SQL语句,从而提高开发效率. 1.SQL的动态拼接有哪些 if标签 where标签 choose when otherwise标签 set标签 trim标签 bind标签 sql和include标签 foreach标签 2.if标签: test中写判断条件 参数直接paramN或者别名 特点: 只要成立就拼接在Sql语句中,都成立

  • mybatis test标签如何判断值是否相等

    mybatis test标签判断值是否相等 mybatis可以很方便生成动态sql, 常用的方式如下: <if test="id != null and id !=''"> and id != #{id} </if> 但是在实际使用过程中可能会需要对某个输入的值做具体判断,然后根据输入参数的值进行分支处理 <select id="xxxx" parameterType="map" resultMap="Ba

  • Mybatis常用注解中的SQL注入实例详解

    目录 前言 常见注入场景 2.1普通注解 2.2 动态sql 2.2.1 使用< script> 2.2.2 使用Provider注解 总结 前言 MyBatis3提供了新的基于注解的配置.主要在MapperAnnotationBuilder中,定义了相关的注解: public MapperAnnotationBuilder(Configuration configuration, Class<?> type) { ... sqlAnnotationTypes.add(Select

随机推荐