一、参数(Parameters)传递

单个参数

基本类型:取值#{hahaha}随便写

多个参数

<!--   public Employee getEmpById(Integer id,String empName);

取值#{参数名}就无效了

可用0,1参数的索引或param1,param2(第几个参数就paramN)

原因:任意多个参数,都会被MyBatis重新包装成一个Map传入。Map的key是param1,param2,0,1…,值就是参数的值。

命名参数

在dao里写方法时为参数使用@Param起一个名字,MyBatis就会将这些参数封装进map中,key就是我们自己指定的名字

POJO

当这些参数属于我们业务POJO时,我们直接传递POJO,#{POJO的属性名}

注意千万不必加.

Map

我们也可以在写dao时将多个参数封装为map,直接传递

在测试时自己制定参数名

map.put(”id”,1);

map.put(“empName”,”admin”);

二、参数取值符号

#{属性名}:是参数预编译的方式,参数的位置都是用?代替,参数都是后来预编译设置进去的,安全,不会有sql注入问题(id=1or1=1or and empname=” admin”,这种情况如果不使用预编译方式而采用直接拼串获取到的参数会被当成永真条件)。但是表名位置不支持参数预编译

${属性名}:不是参数预编译的方式,而是直接和sql语句进行拼串,不安全

【总结】一般都是使用#{属性名},但在一些不支持参数预编译的地方要用${参数名}

三、查询返回list

接口方法写public List<Employee> getAllEmps()

标签仍然resultType=“com.atguigu.bean.Employee

四、查询返回map

1)查询单条记录

接口方法写public Map<String Object> getEmpByIdReturnMap(Integer id)

标签resultType=“map

比如查出一条

id  empname  gender  email          login_account

------  -------  ------  -------------  ---------------

1  admin         0  admin@qq.com   (NULL)

以列名作为key,值作为value。注意区分map与list

2)查询多条记录

       @MapKey(“id“)

接口方法写public Map< Integer Employee > getAllEmpsReturnMap()

标签resultType=“com.atguigu.bean.Employee

key是一条记录的主键,一个对象Employee作为value。注意区分map与list

【串线篇】SQL映射文件select简单查询标签的更多相关文章

  1. 【串线篇】SQL映射文件delete/ insert/ update标签

    一. <insert id="insertEmployee"> INSERT INTO t_employee(empname,gender,email) VALUES( ...

  2. 初始MyBatis、SQL映射文件

    MyBatis入门 1.MyBatis前身是iBatis,是Apache的一个开源项目,2010年这个项目迁移到了Google Code,改名为MyBatis,2013年迁移到GitHub.是一个基于 ...

  3. Mybatis sql映射文件浅析 Mybatis简介(三)

    简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML为载体映射SQL 之前提到过,各项配置信息将Mybatis应用的整 ...

  4. 了解一下SQL映射文件

    1:SQL映射文件 MyBatis真正强大之处就在于SQL映射语句,相对于强大的功能,SQL映射文件的配置非常简单,与JDBC相比减少了50%的代码.下面是关于SQL映射文件的几个顶级元素配置 map ...

  5. Mybatis sql映射文件浅析 Mybatis简介(三) 简介

    Mybatis sql映射文件浅析 Mybatis简介(三)   简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML ...

  6. MyBatis 的基本要素—SQL 映射文件

    MyBatis 真正的强大在于映射语句,相对于它强大的功能,SQL 映射文件的配置却是相当简单.对比 SQL 映射配置和 JDBC 代码,发现使用 SQL 映射文件配置可减少 50% 以上的代码,并且 ...

  7. Mybatis SQL映射文件详解

    Mybatis SQL映射文件详解 mybatis除了有全局配置文件,还有映射文件,在映射文件中可以编写以下的顶级元素标签: cache – 该命名空间的缓存配置. cache-ref – 引用其它命 ...

  8. 二:SQL映射文件

    二:SQL映射文件 1.SQL映射文件: (1)mapper:映射文件的根元素节点,只有一个属性namespace(命名空间) 作用:用于区分不同的mapper全局唯一 绑定dao接口即面向接口编程, ...

  9. SQL映射文件-----MySQL关系映射【1对1,1对多,多对多】

    SSM框架下,mapper.xml 中 association 标签和 collection 标签的使用 当数据库中表与表之间有关联时,在对数据库进行操作时,就不只是针对某一张表了,需要联表查询 My ...

随机推荐

  1. Primary Key Increase by Trigger

    Oracle Create Table: CREATE TABLE TAB( ID NUMBER(10) NOT NULL PRIMARY KEY, NAME VARCHAR(19) NOT NULL ...

  2. Python3解leetcode Subtree of Another Tree

    问题描述: Given two non-empty binary trees s and t, check whether tree t has exactly the same structure ...

  3. igserver许可证过期 & 发布服务客户端浏览出现error2032

    1.卸载igserver重装 卸载包IGServerForDotNet成功! 卸载包IGServerCore成功! 卸载包MiddleWare_ArcGIS成功! 卸载包SDE_DM成功! 卸载包SD ...

  4. 李满春与WebGIS

    李满春 ,男,1964年6月生,博士,教授,博导.现任南京大学科技处处长.地理信息科学系主任(兼).地理信息系统与遥感研究所所长(兼).国际地球系统科学研究所(学科特区)常务副所长(兼).第六届高等学 ...

  5. IP地址的分类及各类IP的最大网络数、网络号范围和最大主机数

    总结自谢希仁老师的<计算机网络>第五版 每一类网络地址都由两部分组成:网络号net-id+主机号host-id.IP地址的分类可以参看下图: 可以看到各个类别的区别,同时,所有的类别都是3 ...

  6. Jira中的Tempo查看component以及issue的工作量汇总

    在右侧group by的地方,同时选中component和issue

  7. HDU 5632 Rikka with Array [想法题]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5632 ------------------------------------------------ ...

  8. ElasticSearch ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]锁定状态,无法插入数据

    PUT /twitter/_settings { "index.blocks.read_only_allow_delete": null } 官网给出的解决办法

  9. tr:hover变色的问题

    做表格隔行变色(高亮显示),可以通过设置css中的 tr:hover伪类属性达到效果, 但是,会出一点小问题.td的背景色会覆盖tr的背景色, 在tr:hover下边加上一句:tr:hover td{ ...

  10. Hadoop HDFS本地存储目录结构解析

    转自:https://blog.csdn.net/superman_xxx/article/details/51689398 HDFS metadata以树状结构存储整个HDFS上的文件和目录,以及相 ...