智慧并不产生于学历,而是来自对于知识的终生不懈的追求。这篇文章主要讲述mybatis常用标签相关的知识,希望能为你提供帮助。
文章图片
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名称
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:后缀判断的条件。
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
【mybatis常用标签】数据库字段一般都是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,
推荐阅读
- K8S---service---metalLB
- python-机器学习-数据标签转化
- 二进制部署高可用Kubernetes v1.17.x
- shell 脚本相关的习题(入门篇)
- #私藏项目实操分享#分布式技术专题「OSS中间件系列」Minio的Server端服务的架构和实战搭建
- RabbitMQ中的SimpleMessageListener
- 存储数据恢复案例误操作删除lun-Netapp的数据恢复
- AWS私有仓库ECR推送拉取镜像
- 灯箱无法在我的WordPress主题中运作