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,