##mybatis的mapper xml文件中的常用标签
[https://blog.csdn.net/qq_41426442/article/details/79663467](https://blog.csdn.net/qq_41426442/article/details/79663467)
###SQL语句标签
###1、查询语句

<select id="selectByPrimaryKey"  resultMap="BaseResultMap" parameterType="java.lang.String" >
selec...
</select>

2、插入语句

<insert id="insert" parameterType="pojo.OrderTable" >
insert into ordertable(...)
values(...)
</insert> 

3、删除语句

<delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
delete from ordertable  
where order_id = #{orderId,jdbcType=VARCHAR}  
</delete>  

4、修改语句

<update id="updateByPrimaryKey" parameterType="pojo.OrderTable" >  
  update ordertable 
set cid = #{cid,jdbcType=VARCHAR},  
address = #{address,jdbcType=VARCHAR},  
create_date = #{createDate,jdbcType=TIMESTAMP},  
orderitem_id = #{orderitemId,jdbcType=VARCHAR}  
where order_id = #{orderId,jdbcType=VARCHAR}  
</update> 

需要配置的属性

  1. id="xxxx"    表示此段SQL执行语句的唯一标识,也是接口的方法名称【必须一致才能找到】
  2. parameterType="xxxx"    表示SQL语句中需要传入的参数,类型要与对应的接口方法的类型一致
  3. resultMap="xxx"    定义出参,调用已定义的映射管理器的id的值
  4. resultType="xxxx"    定义出参,匹配普通Java类型或自定义的pojo       【出参类型若不指定,将为语句类型默认类型,如语句返回值为int】

注意

为什么insert、delete、update语句的返回值类型是int?

有JDBC操作经验的朋友可能会有印象,增删改操作实际上返回的是操作的条数。而Mybatis框架本身是基于JDBC的,所以此处也沿袭这种返回值类型。

传参和取值

mapper.xml 的灵活性还体现在SQL执行语句可以传参,参数类型通过parameterType= "" 定义

★取值方式1:#{value jdbcType = valuetype}:jdbcType 表示该属性的数据类型在数据库中对应的类型,如 #{user jdbcType=varchar} 等价于 String username;

★取值方式2:${value } : 这种方式不建议大量使用,可能会发送sql注入而导致安全性问题。一般该取值方式可用在非经常变化的值上,如orderby ${columnName};

SQL片段标签

优点:通过该标签可定义能复用的sql语句片段,在执行sql语句标签中直接引用即可。这样既可以提高编码效率,还能有效简化代码,提高可读性

1、需要配置的属性:id="" 表示需要改sql语句片段的唯一标识

2、引用:通过标签引用,refid="" 中的值指向需要引用的中的id=""属性

mapper.xml中的常用标签的更多相关文章

  1. mapper.xml中的<sql>标签

    原文链接:http://blog.csdn.net/a281246240/article/details/53445547 sql片段标签<sql>:通过该标签可定义能复用的sql语句片段 ...

  2. 转载:MyBatis mapper.xml中使用静态常量或者静态方法

    转自:https://my.oschina.net/wtslh/blog/682704 今天偶然之间刷到了这样一篇博客,有点意外 mybatis 还可以这样使用ONGL常量的方式,该方式针对 xml的 ...

  3. SSM框架 mapper.xml中 value的空值判断问题

    先看解决方案,其他的都是问题的出处 解决方案:if中使用 _parameter,#{value}不变 <if test="_parameter!='' and _parameter!= ...

  4. mapper.xml中动态sql抽取重复项

    mabatis重点是通过标签对sql灵活的组织,通过配置的方式完成输入 输出映射. 1.对mapper.xml中重复的sql抽取统一维护,以及foreach使用 UserMapperCustom.xm ...

  5. 关于mybatis mapper.xml中的if判断

    场景: 页面上有搜索框进行调节查询,不同搜索框中的内容可以为空. 过程: 点击搜索,前端把参数传给后台,这是后台要把为空的参数过滤掉. 做法: 通常我们在dao层即mapper.xml中进行过滤判断操 ...

  6. 【mybatis】idea中 mybatis的mapper类去找对应的mapper.xml中的方法,使用插件mybatis-plugin

    idea中 mybatis的mapper类去找对应的mapper.xml中的方法,使用插件mybatis-plugin,名字可能叫Free mybatis-plugin 安装上之后,可能需要重启ide ...

  7. java web中jsp常用标签

    在jsp页面开发过程中,经常需要使用JSTL(Java Server Pages Standard Tag Library)标签开开发页面,是看起来更加的规整舒服. JSTL主要提供了5大类标签库: ...

  8. 在strings.xml中定义html标签

    在项目的开发过程中,需要用到把html内容放到strings.xml文件中,然后再读取到TextView中.原本以为像普通文本一样直接SetText就行了,结果行不通,大大超出我的预料.经过网上搜索, ...

  9. Web.xml中Filter过滤器标签几个说明

    在研究liferay框架中看到Web.xml中加入了过滤器的标签,可以根据页面提交的URL地址进行过滤,发现有几个新标签没用过,下面就介绍以下几个过滤器的标签用法: <!-- 定义Filter ...

随机推荐

  1. OGG切换步骤

    步骤描述 提前准备好切换方案:以及其他相关人员的配合 切换至容灾数据库: (1)停止前端业务,确认目标端数据已经追平 (2)数据校验,确认数据一致 (3)停止生产库OGG进程(停止后可以直接删除) ( ...

  2. caioj 1412 动态规划3:a+b问题(完全背包方案数)

    每个素数就是一个物品,然后就相当于求完全背包方案数 把max改成+就好了. #include<cstdio> #include<vector> #include<cstr ...

  3. MySQL日志设置及查看方法

    MySQL有以下几种日志: 错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-queries 更新日志: -log-update 二进制日志: -log-bin 默 ...

  4. 洛谷——P3368 【模板】树状数组 2

    https://www.luogu.org/problem/show?pid=3368 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 输入 ...

  5. gluPerspective和gluLookAt的关系

    参考文章 GL学习笔记(2) - 终于搞明白gluPerspective和gluLookAt的关系了(zz) gluPerspective的具体含义 解密--神秘的gluPerspective 函数原 ...

  6. 数据库中的Convert

    https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql Conversion failed ...

  7. 由安装两块网卡的linux系统中引起网络不通想到的

    由安装两块网卡的linux系统中引起网络不通想到的 一天,小王突然急匆匆的来找我,他说:"我在机子上刚装的redhat怎么老也ping不通服务器,我网卡的驱动都安装了,ping 自己的两块网 ...

  8. Yeslab 华为安全HCIE七门之-防火墙基础(12篇)

    Yeslab 华为安全HCIE七门之-防火墙基础(12篇) Yeslab 全套华为安全HCIE七门之第二门防火墙基础(12篇),第一门课论坛很早就有了,可自行下载,后面的陆续分享给大家. 华为安全HC ...

  9. CodeForcesGym 100502K Train Passengers

    Train Passengers Time Limit: 1000ms Memory Limit: 524288KB This problem will be judged on CodeForces ...

  10. Nginx+tomcat+ssl免费证书配置

    0.说明 本文说描写叙述的方式是用nginx的443重定向到tomcat的8443,nginx的80port重定到tomcat的8080: 乱入:个人标记:caicongyang 1.nginx安装 ...