【串线篇】SQL映射文件select简单查询标签
一、参数(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简单查询标签的更多相关文章
- 【串线篇】SQL映射文件delete/ insert/ update标签
一. <insert id="insertEmployee"> INSERT INTO t_employee(empname,gender,email) VALUES( ...
- 初始MyBatis、SQL映射文件
MyBatis入门 1.MyBatis前身是iBatis,是Apache的一个开源项目,2010年这个项目迁移到了Google Code,改名为MyBatis,2013年迁移到GitHub.是一个基于 ...
- Mybatis sql映射文件浅析 Mybatis简介(三)
简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML为载体映射SQL 之前提到过,各项配置信息将Mybatis应用的整 ...
- 了解一下SQL映射文件
1:SQL映射文件 MyBatis真正强大之处就在于SQL映射语句,相对于强大的功能,SQL映射文件的配置非常简单,与JDBC相比减少了50%的代码.下面是关于SQL映射文件的几个顶级元素配置 map ...
- Mybatis sql映射文件浅析 Mybatis简介(三) 简介
Mybatis sql映射文件浅析 Mybatis简介(三) 简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML ...
- MyBatis 的基本要素—SQL 映射文件
MyBatis 真正的强大在于映射语句,相对于它强大的功能,SQL 映射文件的配置却是相当简单.对比 SQL 映射配置和 JDBC 代码,发现使用 SQL 映射文件配置可减少 50% 以上的代码,并且 ...
- Mybatis SQL映射文件详解
Mybatis SQL映射文件详解 mybatis除了有全局配置文件,还有映射文件,在映射文件中可以编写以下的顶级元素标签: cache – 该命名空间的缓存配置. cache-ref – 引用其它命 ...
- 二:SQL映射文件
二:SQL映射文件 1.SQL映射文件: (1)mapper:映射文件的根元素节点,只有一个属性namespace(命名空间) 作用:用于区分不同的mapper全局唯一 绑定dao接口即面向接口编程, ...
- SQL映射文件-----MySQL关系映射【1对1,1对多,多对多】
SSM框架下,mapper.xml 中 association 标签和 collection 标签的使用 当数据库中表与表之间有关联时,在对数据库进行操作时,就不只是针对某一张表了,需要联表查询 My ...
随机推荐
- CSS中属性百分比的基准点
1.属性百分比的基准点 1.1.基于包含块 以下的关于包含块(含块)的概念,不能简单地理解成是父元素. 如果是静态定位和相对定位,包含块一般就是其父元素.但是对于绝对定位的元素,包含块应该是离它最近的 ...
- 观察者模式使用WebForm实现的例子
观察者模式是一种可以描述一对多对象依赖关系的行为模式.当一个对象状态发生变化时,依赖它的其它对象会自动被更新状态.下面这个图展示了观察者模式的层级: 举个例子吧,我们某个报表界面现在有个dashboa ...
- 20180822-Java接口
Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并 ...
- js 和jquery
1. js 全称 javascript 是 web客户端 运行的 解释性语言.. 2. jquery 只不过是 js 封装 简化了 ajax 和 dhtml 的 一款js 框架而已. 简单来说 Jqu ...
- Facebook发布Tweaks:让微调iOS应用变得更简单
假设,你正在开发一款iOS应用. 你的iOS应用有很多动画效果,而你(或你的设计师)希望让那些动画效果的持续时间恰到好处.那华丽的抽屉特效是应该耗时半秒钟,还是四分之三秒呢? 通常情况下,开发者会对合 ...
- JS实现多Div模块拖拽功能
空闲时间,同事让帮忙整个JS拖拽div模块功能.于是便在网上搜索,总结如下一个可实现多div模块拖拽的功能.一下是整体的HTML代码, 里边可以控制到 拖拽开始(onStart),拖拽时候(onMov ...
- python脚本-上传apk至蒲公英
import requests import os #账号配置信息 url = "https://upload.pgyer.com/apiv1/app/upload" uKey = ...
- kafka centos安装发送消费消息
1. 请先下载安装文件,java环境需提前安装,解压到指定目录:tar -zxvf kafka_2.11-2.3.1.tgz -C /root/soft/ 从官网下载文件,上传到centos虚拟机指定 ...
- SPSS输出结果如何在word中设置小数点前面显示加0
SPSS输出结果如何在word中设置小数点前面显示加0 在用统计分析软件做SPSS分析时,其输出的结果中,如果是小于1(绝对值)的数,那么会默认输出不带小数点的数值.例如0.362和 -0.141被显 ...
- Entity Framework Code First (五)Fluent API - 配置关系 转载 https://www.cnblogs.com/panchunting/p/entity-framework-code-first-fluent-api-configuring-relationships.html
上一篇文章我们讲解了如何用 Fluent API 来配置/映射属性和类型,本文将把重点放在其是如何配置关系的. 文中所使用代码如下 public class Student { public int ...