1.传递的参数是数组是,collection属性值是数组

<foreach collection="array" open="(" close=")" separator="," item="id"/>

2.传递参数是list集合,collection属性值是list

<foreach collection = "list" open ="(" close=")" separator="," item = "id"/>

3.传递参数是map时,collection属性值为map集合中的key值

<foreach collection="map集合中的key" open=")" close="(" separator="," item="id"/>

4.动态sql---where--if标签,其中where标签的作用是为了去处多余的and关键字,例

<where>

<if test="属性值 != null"> 属性值=#{属性值} </if>

<if test="属性值 != null">and 属性值=#{属性值} </if>

</where>

5.set标签,去处多余的and或or,例

<update id="updateUserByUser">update demo_user<set><if test="id != null">id=#{id},</if><if test="name != null">name=#{name},</if><if test="sex != null"> sex=#{sex},</if><if test="age != null">age=#{age}</if></set>whereid = #{id}
</update>

6.分支结构:<otherwise>标签相当于java中的else

<select id="findUserByChoose" resultType="User">select<include refid="user_cloumn"/>fromdemo_user<where><choose><when test="name != null">name = #{name}</when><when test="age != null">age = #{age}</when><otherwise>sex = #{sex}</otherwise></choose></where>
</select>

7.关于mapper.xml映射文件中resultType和resultMap的说明

resultType适合单表查询,表中的字段名和实体类的属性名称一一对应

resultMap:如果表中的字段名称与实体类中的属性名称不一致,需要使用resultMap,例:

type="Dog" 在配置文件中添加别名的配置,如果没添加别名,需要指定实体类的全路径

<select id="findAll" resultMap="dogRM">select<include refid="dog_cloumn"/>fromDog
</select>
<resultMap id="dogRM" type="Dog"><id column="dog_id" property="dogId"/><result property="dogName" column="dog_name"/>
</resultMap>

8.mybatis注解使用,不用写映射mapper文件,适用于单表查询

1).<!--Mybatis加载Mapper映射文件-->

<mappers>

<mapper class="指定接口的全路径"/>

<mappers>

2).接口例:

@Select("select * from demo_user")
List<User> findAll();

mybatis之循环标签相关推荐

  1. 猿创征文|mybatis 字段与数据库关键字冲突了怎么办、mybatis for 循环查询输出、mybatis常用标签

    mybatis 字段与数据库关键字冲突了怎么办 如update join_brand_hot set index = #{top} where id = #{id} 这样明显会因为index与索引关键 ...

  2. MyBatis 配置 settings 标签

    MyBatis 配置 settings 标签 1. 简介 2. Setting的详细配置信息 3.示例配置 1. 简介 MyBatis 的 是一个极其重要的标签调整,我们可以通过这个标签修改 MyBa ...

  3. MyBatis学习——foreach标签的使用

    一.foreach标签属性解读 MyBatis的foreach标签应用于多参数的交互如:多参数(相同参数)查询.循环插入数据等,foreach标签包含collection.item.open.clos ...

  4. view for easyui 后台模板html_Thinkphp6模板引擎循环标签(五)

    循环标签 foreach 标签的用法和PHP语法非常接近,用于循环输出数组或者对象的属性 controller文件 public function index(){$arr = [['id' => ...

  5. 9.mybatis动态SQL标签的用法

    mybatis动态SQL标签的用法 动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦 ...

  6. Jsp2.0自定义标签(第二天)——自定义循环标签

    今天是学习自定义标签的第二天,主要是写一个自定义的循环标签. 先看效果图: 前台页面Jsp代码 <%@ page language="java" contentType=&q ...

  7. vue改变标签属性_Vue用v-for给循环标签自身属性添加属性值的方法

    我的代码结构如下所示不能执行,会出现报错 export default { data(){ return{ radio_arr:['循环1','循环2','循环3'], animal:'循环2' } ...

  8. java 自定义循环标签_Jsp2.0自定义标签(第二天)——自定义循环标签

    今天是学习自定义标签的第二天,主要是写一个自定义的循环标签. 先看效果图: 前台页面Jsp代码 String[]array = new String[]{"one","t ...

  9. Mybatis的where标签,还有这么多知识点

    背景 在上篇文章,我们系统地学习了where 1=1 相关的知识点,大家可以回看<不要再用where 1=1了!有更好的写法!>这篇文章.文章中涉及到了Mybatis的替代方案,有好学的朋 ...

最新文章

  1. bootstrap java_查看tomcat启动文件都干点啥---Bootstrap.java
  2. hdu 携程全球数据中心建设 (球面距离 + 最小生成树)
  3. 电力论文:基于牛顿拉尔逊(直角坐标)的电气潮流计算(python实现)
  4. 信工干货||C语言输入输出语句
  5. DOS批处理高级教程精选(二)
  6. 联想m100显示耗材_RTX3070显卡搭档高性能显示器,畅玩精美游戏大作!
  7. 简单编程代码表白_用简单代码实现抖音表白神器
  8. 隔空互撕!李想炮轰团车造车是“骗子”,团车CEO回怼:别把自己当先知
  9. php获取微信小程序用户头像,微信小程序获取用户头像+昵称+openid,小程序登录!附前端后端源码!...
  10. 交叉编译iproute2
  11. leetcode python3 简单题226. Invert Binary Tree
  12. 练习:string.h常用字符串
  13. Java String to InputStream
  14. 利用node.js以及express框架初始化服务端
  15. 基于django的视频点播网站开发-step15-项目部署
  16. 申请免费领取阿里云服务器
  17. 就业形势严峻,应届生应该如何做好职业规划?
  18. RT-Thread移植到STM32单片机过程
  19. 协议:GRE;collisions
  20. web day03 CSS基本概念 选择器

热门文章

  1. 服务器硬盘状态监控,用“性能监视器”了解你服务器硬盘的忙闲程度
  2. C语言数据类型的字节大小
  3. PageHelper 分页查询「实现篇」
  4. Linux命令中嵌套其他命令
  5. java线程池最大线程数_Java并发(八)计算线程池最佳线程数
  6. xcodebuild
  7. Logger 日志输出请使用占位符 {}
  8. JZ2440 windows下使用eop
  9. Windows留后门--教程(五)——shift粘贴键后门
  10. 安卓使用Canvas绘制工作日程表