当前位置: 首页 > 编程笔记 >

MyBatis常用标签大全

马才
2023-03-14
本文向大家介绍MyBatis常用标签大全,包括了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常用标签大全,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 主要内容:示例在 MyBatis 中除了使用 if+where 实现多条件查询,还有一个更为灵活的元素 trim 能够替代之前的做法。 trim 一般用于去除 SQL 语句中多余的 AND 关键字、逗号 或者给 SQL 语句前拼接 where、set 等后缀,可用于选择性插入、更新、删除或者条件查询等操作。trim 语法格式如下。 trim 中属性说明如下。 属性 描述 prefix 给SQL语句拼接的前缀,为

  • 主要内容:示例每个数据库的拼接函数或连接符号都不同,例如 MySQL 的 concat 函数、Oracle 的连接符号“||”等。这样 SQL 映射文件就需要根据不同的数据库提供不同的实现,显然比较麻烦,且不利于代码的移植。幸运的是,MyBatis 提供了 bind 标签来解决这一问题。 bind 标签可以通过 OGNL 表达式自定义一个上下文变量。 比如,按照网站名称进行模糊查询,SQL 映射文件如下。 bi

  • 主要内容:示例前面我们学习了如何使用 Mybatis  if、 where、 trim 等动态语句来处理一些简单的查询操作。对于一些 SQL 语句中含有 in 条件,需要迭代条件集合来生成的情况,可以使用 foreach 来实现 SQL 条件的迭代。  Mybatis foreach 标签用于循环语句,它很好的支持了数据和 List、set 接口的集合,并对此提供遍历的功能。语法格式如下。 foreach 标签

  • 主要内容:示例在 Mybatis 中,update 语句可以使用 set 标签动态更新列。set 标签可以为 SQL 语句动态的添加 set 关键字,剔除追加到条件末尾多余的逗号。 示例 要求:根据 id 修改网站名称或网址(本节示例基于《 第一个MyBatis程序》一节的代码实现)。 WebsiteMapper.xml 代码如下。 WebsiteMapper 类中方法如下。 测试类代码如下。 输出结果如下。

  • 主要内容:示例细心的读者可能会发现,我们在《 MyBatis choose、when和otherwise语句》一节的 SQL 语句中加入了一个条件“1=1”,如果没有加入这个条件,那么可能就会变成下面这样一条错误的语句。 显然以上语句会出现 SQL 语法异常,但加入“1=1”这样的条件又非常奇怪,所以 MyBatis 提供了 where 标签。 where 标签主要用来简化 SQL 语句中的条件判断,可以自动处

  • MyBatis if 类似于 Java 中的 if 语句,是 MyBatis 中最常用的判断语句。使用 if 标签可以节省许多拼接 SQL 的工作,把精力集中在 XML 的维护上。 if 语句使用方法简单,常常与 test 属性联合使用。语法如下。 当判断条件为 true 时,才会执行所包含的 SQL 语句。 最常见的场景是在 if 语句中包含 where 子句,例如。 以上代表表示根据网站名称去