Mybatis映射文件中的标签的使用
<foreach>
<!-- foreach -->
<delete id="delMulti" parameterType="java.util.List">
delete from user where id in
<!--collection:输入参数为List集合时,必须写list,
item:为集合里的每一项起名,可以任意定义
separator:每一项中间的分割符
open:在执行循环体之前拼接的内容;
close:在执行循环体之后拼接的内容;-->
<foreach collection="list" item="uid" separator="," open="(" close=")">
#{uid}
</foreach>
</delete>
where
<!--where:解析成where关键字,会自动去掉第一个符合条件的限定条件中的and -->
<select id="getByNameSex" parameterType="map" resultType="user">
select * from user
<where>
<if test="uname!=null and uname!=''">
and username like "%"#{uname}"%"
</if>
<if test="usex!=null and usex!=''">
and sex=#{usex}
</if>
</where>
choose when otherwise
<!--choose when otherwise:某个判断满足条件后,其他条件就不会再执行 -->
<select id="getByNameSex1" parameterType="map" resultType="user">
select * from user where
<choose>
<when test="uname!=null and uname!=''">
username like "%"#{uname}"%"
</when>
<when test="usex!=null and usex!=''">
sex=#{usex}
</when>
<otherwise>
1=1
</otherwise>
</choose>
</select>
set
<!-- set:解析为set关键字,可以自动去掉最后一个更新的字段后面的逗号 -->
<update id="updUser" parameterType="user">
update user
<set>
<if test="username!=null and username!=''">
username=#{username},
</if>
<if test="sex!=null and sex!=''">
sex=#{sex}
</if>
</set>
where id=#{id}
</update>
trim:使用次数较少
<update id="updUser1" parameterType="user">
<!--prefix:前缀,在trim中内容执行之前拼接
suffix:后缀:在trim中内容执行之后拼接
suffixOverrides:忽略后缀
prefixOverrides:忽略前缀-->
<trim prefix="update user set" suffix="where id=#{id}" suffixOverrides=","> <if test="username!=null and username!=''">
username=#{username},
</if>
<if test="sex!=null and sex!=''">
sex=#{sex}
</if> </trim>
</update>
bind使用较少
<select id="getByUname" parameterType="string" resultType="User">
<!--name:新的字符串的变量名 -->
<bind name="uname" value="'%'+_parameter+'%'"/>
select * from user where username like #{uname}
</select>
Mybatis映射文件中的标签的使用的更多相关文章
- Mybatis映射文件中#取值时指定参数相关规则
Mybatis映射文件中#取值时指定参数相关规则 在#{}中,除了需要的数值外,还可以规定参数的一些其他规则. 例如:javaType,jdbcType,mode(存储过程),numericScale ...
- Mybatis映射文件中的参数传递
一.接口中只有一个参数 1.参数是基本类型or基本类型的包装类or字符串类型 这种情况下映射文件中#{}里的内容可以是任意的,你可以使用#{xxx} 或 #{abc} .....因为此时#{}相当于一 ...
- Mybatis映射文件中数据库表列名称和POJO成员域的联系
下面是Mybatis的SQL映射文件. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ma ...
- 018 关联映射文件中<class>标签中的lazy(懒加载)属性
Lazy(懒加载): 只有在正真使用该对象时,才会创建这个对象 Hibernate中的lazy(懒加载): 只有我们在正真使用时,它才会发出SQL语句,给我们去查询,如果不使用对象则不会发SQL语句进 ...
- 019 关联映射文件中集合标签中的lazy(懒加载)属性
<set>.<list>集合上,可以取值:true/false/extra,(默认值为:true) 实例一:(集合上的lazy=true(默认))class默认lazy=tru ...
- [刘阳Java]_MyBatis_映射文件的常用标签总结_第5讲
MyBatis中常用标签的总结,简单给出自己的总结 MyBatis映射文件中的标签使用介绍1.<select>:用于编写查询语句用的标签 id:表示当前<select>标签的唯 ...
- [刘阳Java]_MyBatis_映射文件的select标签入门_第3讲
1.Mybatis映射文件的<select>标签主要帮助我们完成SQL语句查询功能,<select>标签它包含了很多属性,下面简单对<select>标签的属性做一个 ...
- MyBatis 映射文件详解
1. MyBatis 映射文件之<select>标签 <select>用来定义查询操作; "id": 唯一标识符,需要和接口中的方法名一致; paramet ...
- Mybatis映射文件标签(关于sql)
Mybatis映射文件 1.接口的全限定名和映射文件的namespace一致 <mapper namespace="com.offcn.dao.UserDao"> 2. ...
随机推荐
- pytest中怎么引用前置中的变量
本文主要总结的是pytest中的前置后置怎么返回参数 我们在做自动化的过程中,如果运用的是pytest的话,会遇到怎么使用前置条件中的变量 比如: @pytest.fixture() def init ...
- 学习9:MongoDB知识
MongoDB学习笔记 1 基本介绍 基本概念 MongoDB**是一种面向文档的数据库管理系统,由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.2007年10月,MongoDB由10g ...
- 在浏览器输入URL回车之后发生了什么?(超详细版)
前言 这个问题已经是老生常谈了,更是经常被作为面试的压轴题出现,网上也有很多文章,但最近闲的无聊,然后就自己做了一篇笔记,感觉比之前理解更透彻了. 这篇笔记是我这两天看了数十篇文章总结出来的,所以相对 ...
- 201871010118-唐敬博《面向对象程序设计(java)》第十一周学习总结
在博客园撰写博客(随笔),总结10周学习内容,作业格式要求如下: 博文名称:学号-姓名<面向对象程序设计(java)>第十一周学习总结(1分) 博文正文开头格式:(2分) 项目 内容 这个 ...
- Visual Studio 2017 软件包及教程
下载地址:https://files.cnblogs.com/files/yungle/VisualStudio2017.rar 安装教程:https://mp.weixin.qq.com/s?__b ...
- 洛谷 U87561 魔法月饼
洛谷 U87561 魔法月饼 洛谷传送门 题目背景 \(9102\)年的中秋节注定与往年不同...因为在\(9102\)年的中秋节前夕,\(Seaway\)被告知今年的中秋节要新出一款月饼--魔法月饼 ...
- leetcode2. 两数相加
使用迭代的方式 class Solution{ public: ListNode *addTwoNumbers(ListNode* l1,ListNode *l2) { ListNode *res=) ...
- 【CF438D】The Child and Sequence(线段树)
点此看题面 大致题意: 给你一个序列,让你支持区间求和.区间取模.单点修改操作. 区间取模 区间求和和单点修改显然都很好维护吧,难的主要是区间取模. 取模标记无法叠加,因此似乎只能暴力搞? 实际上,我 ...
- MySQL实战45讲学习笔记:第十四讲
一.引子 在开发系统的时候,你可能经常需要计算一个表的行数,比如一个交易系统的所有变更记录总数.这时候你可能会想,一条 select count(*) from t 语句不就解决了吗? 但是,你会发现 ...
- 分布式共识算法 (二) Paxos算法
系列目录 分布式共识算法 (一) 背景 分布式共识算法 (二) Paxos算法 分布式共识算法 (三) Raft算法 分布式共识算法 (四) BTF算法 一.背景 1.1 命名 Paxos,最早是Le ...