一、参数(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. groovy-2.4.11.jar时出错; invalid LOC header (bad signature)

    Information:java: Errors occurred while compiling module 'security'Information:javac 1.8.0_131 was u ...

  2. php stristr()函数 语法

    php stristr()函数 语法 作用:返回一个字符串在另一个字符串中开始位置到结束的字符串,不区分大小写.直线电机厂家怎么样? 语法:stristr(string,search,before_s ...

  3. php substr_count()函数 语法

    php substr_count()函数 语法 作用:统计一个字符串,在另一个字符串中出现次数大理石量具 语法:substr_count(string,substring,start,length) ...

  4. 和风api爬取天气预报数据

    ''' 和风api爬取天气预报数据 目标:https://free-api.heweather.net/s6/weather/forecast?key=cc33b9a52d6e48de85247779 ...

  5. 在服务器上给tomcat指定jdk版本

    export JAVA_HOME=/usr/local/jdk1.8 --路径是:Jdk8所在的目录 export CATALINA_OPTS="-Djava.awt.headless=tr ...

  6. 纯css实现瀑布流(multi-column多列及flex布局)

    瀑布流的布局自我感觉还是很吸引人的,最近又看到实现瀑布流这个做法,在这里记录下,特别的,感觉flex布局实现瀑布流还是有点懵的样子,不过现在就可以明白它的原理了 1.multi-column多列布局实 ...

  7. 移动端rem布局屏幕适配插件(放js中便可使用)

    /* doc:不用管:document对象 win:不用管:window对象 design:注意:设计稿的尺寸/物理像素*/ (function (doc, win,design) {// alert ...

  8. loj#2838 「JOISC 2018 Day 3」比太郎的聚会

    分析 预处理每个点的前根号小的距离 对于每次询问删除点小于根号则已经处理好 否则直接暴力dp即可 代码 #include<bits/stdc++.h> using namespace st ...

  9. 1208C Magic Grid

    题目大意 给你一个n 让你用0~n^2-1的数填满一个n*n的正方形 满足每个数值出现一次且每行每列的异或值相等 输出任意一种方案 分析 我们发现对于4*4的正方形 0  1  2  3 4  5  ...

  10. 搭建maven本地仓库

    1. 需先配置java环境. 2. 下载nexus. https://www.sonatype.com/download-nexus-repo-oss?submissionGuid=a015a3db- ...