mybatis常用标签

简介: mybatis常用标签

image.png

mybatis是在日常开发中最常用的orm框架,所以熟练使用mybatis是必须掌握的技能,那么本篇文章将总结所有在开发中常用的标签。

1.select 标签

select表示为查询语法。

2.insert

insert表示为插入语法。

3.update

update表示为修改语法。

4.delete

delete表示为删除语法。

5.foreach

foreach表示为循环语法语法。

<foreach collection="barcodeManageBo" item="object" separator=","
      open="(" close=")">
      #{object.id}
</foreach>
  • open:以什么开始
  • close:以什么结束
  • separator:分隔符
  • collection:list名称
  • item:index名称

6.sql

sql表示可通用的sql片段,使用id可以引用。

<sql id="sqlvalues">
    <if test="code!=null or code !=''">#{code},</if>
    <if test="itemname !=null or itemname !=''">#{itemname},</if>
    <if test="criteria !=null or criteria !=''">#{criteria},</if>
</sql>

7.include

<include refid="sqlvalues"></include>

include表示引用sql标签,作为sql一部分。

8.set

<set>
  <if test="typeName != null and typeName != ''">
        typeName ={typeName}, 
  </if>
  <if test="sort != null and sort != ''">sort = #{sort},</if>
</set>

update时需要使用set语法,在set时候省略最后一个符号。

9.trim

trim是对sql值的替换。下文是将最后一个,替换成空,防止sql报错。

<trim suffix="" suffixOverrides=",">
        <if test="code!=null"> code = #{code},</if>
        <if test="itemname !=null"> itemname =#{itemname},</if>
        <if test="criteria !=null "> criteria =#{criteria},</if>
</trim>
  • prefix:前缀覆盖并增加其内容。
  • suffix:后缀覆盖并增加其内容。
  • prefixOverrides:前缀判断的条件。
  • suffixOverrides:后缀判断的条件。

10.if

if表示判断。

11.choose

多条件判断,相当于if/elseif。

<choose>
            <when test="title != null">
                and title = #{title}
            </when>
            <when test="content != null">
                and content = #{content}
            </when>
            <otherwise>
                and owner = "owner1"
            </otherwise>
</choose>

12.resultMap

数据库字段一般都是a_b,这样不符合实体的规范,所以需要转换成aB形式。

<resultMap id="getStudentRM" type="EStudnet">
  <id property="id" column="ID"/>
  <result property="studentName" column="Name"/>
  <result property="studentAge" column="Age"/>
</resultMap>
<select id="getStudent" resultMap="getStudentRM">
  SELECT ID, Name, Age
    FROM TStudent
</select>

13.sql小技巧

时间转为String

DATE_FORMAT(scanDate,'%Y-%m-%d %H:%i') as scanDate,


相关文章
|
5月前
|
SQL Java 数据库连接
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
543 0
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
|
11月前
|
Java 数据库连接 mybatis
mybatis的set标签
mybatis的set标签
|
12月前
|
SQL Java 数据库连接
28MyBatis - 动态SQL的 if标签
28MyBatis - 动态SQL的 if标签
58 0
|
5月前
|
SQL XML Java
Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢
Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢
43 0
|
12月前
|
SQL XML Java
mybatis之动态SQL常见标签的使用
mybatis之动态SQL常见标签的使用
114 0
|
11月前
|
SQL Java 数据库连接
mybatis的trim标签insert标签update标签
mybatis的trim标签insert标签update标签
|
8天前
|
SQL XML Java
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
文章介绍了MyBatis中动态SQL的用法,包括if、choose、where、set和trim标签,以及foreach标签的详细使用。通过实际代码示例,展示了如何根据条件动态构建查询、更新和批量插入操作的SQL语句。
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
|
8天前
|
SQL XML Java
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
文章介绍了MyBatis中高级查询的一对多和多对一映射处理,包括创建数据库表、抽象对应的实体类、使用resultMap中的association和collection标签进行映射处理,以及如何实现级联查询和分步查询。此外,还补充了延迟加载的设置和用法。
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
|
2月前
|
SQL Java 数据库连接
MyBatis Mapper.XML 标签使用说明
MyBatis Mapper.XML 标签使用说明
27 0
|
11月前
|
Java 数据库连接 mybatis
mybatis的choose,when,otherwize标签
mybatis的choose,when,otherwize标签