mybatis传递参数的方法
一.传递一个参数
例:根据员工编号查询员工的基本信息
1.在dao接口中声明一个方法
2.在mapper中实现该方法
3.测试
/**
* 传递一个参数
*/
public class Test02 {
public static void main(String[] args) {
//获取SqlSession对象
SqlSession session = SqlSessionFactoryUtil.getSession();
//获取dao接口的实现类对象
EmpDao empDao = session.getMapper(EmpDao.class);
//调用empDao的方法
Emp emp = empDao.findByEmpno(7902L);
//输出结果
System.out.println("员工编号:"+emp.getEmpno());
System.out.println("员工姓名:"+emp.getEname());
System.out.println("员工基本工资:"+emp.getSal());
///关闭session
session.close();
}
}
二.传递多个参数
第一种:使用注解传参
1.声明方法
2.mapper中实现方法
注意:不能再使用#{}传递参数了。
3.测试
/**
* 传递多个参数 使用@Param的方式
*/
public class Test04 {
public static void main(String[] args) {
//获取SqlSession对象
SqlSession session = SqlSessionFactoryUtil.getSession();
//获取dao接口的实现类对象
EmpDao empDao = session.getMapper(EmpDao.class);
//调用empDao的方法
List<Emp> emps = empDao.findByExample1("M",900D);
//输出结果
for (Emp emp :
emps) {
System.out.println("员工编号:"+emp.getEmpno());
System.out.println("员工姓名:"+emp.getEname());
System.out.println("员工基本工资:"+emp.getSal());
System.out.println("===");
}
///关闭session
session.close();
}
}
***#{}和${}有什么区别?
第二种:使用map封装多个参数
1.声明方法
2.在mapper中实现方法
3.测试
/**
* 传递多个参数 使用Map封装多个参数
*/
public class Test05 {
public static void main(String[] args) {
//获取SqlSession对象
SqlSession session = SqlSessionFactoryUtil.getSession();
//获取dao接口的实现类对象
EmpDao empDao = session.getMapper(EmpDao.class);
//调用empDao的方法
Map<String,Object> map = new HashMap<String,Object>();
//把需要传递的多个参数封装到map中
map.put("ename","M");
map.put("sal",900D);
List<Emp> emps = empDao.findByExample2(map);
//输出结果
//输出结果
for (Emp emp :
emps) {
System.out.println("员工编号:"+emp.getEmpno());
System.out.println("员工姓名:"+emp.getEname());
System.out.println("员工基本工资:"+emp.getSal());
System.out.println("===");
}
///关闭session
session.close();
}
}
第三种:按位置传参
1.声明方法
2.在mapper中实现方法
注意:按位置传参,参数下标从1开始
3.测试
第四种:按模型的方式传参(实体类)
1.声明方法
2.在mapper中实现方法
3.测试
/**
* 传递多个参数 按模型的方式
*/
public class Test07 {
public static void main(String[] args) {
//获取SqlSession对象
SqlSession session = SqlSessionFactoryUtil.getSession();
//获取dao接口的实现类对象
EmpDao empDao = session.getMapper(EmpDao.class);
//调用empDao的方法
Emp param = new Emp();
//把需要传递的多个参数封装到Emp对象中
param.setEname("M");
param.setSal(900D);
List<Emp> emps = empDao.findByExample4(param);
//输出结果
//输出结果
for (Emp emp :
emps) {
System.out.println("员工编号:"+emp.getEmpno());
System.out.println("员工姓名:"+emp.getEname());
System.out.println("员工基本工资:"+emp.getSal());
System.out.println("===");
}
///关闭session
session.close();
}
}
mybatis传递参数的方法的更多相关文章
- mybatis 传递参数的方法总结
有三种mybatis传递参数的方式: 第一种 mybatis传入参数是有序号的,可以直接用序号取得参数 User selectUser(String name,String area); 可以在xml ...
- MyBatis传递参数
MyBatis传递参数 一.使用 map 接口传递参数 在 MyBatis 中允许 map 接口通过键值对传递多个参数,把接口方法定义为 : public List<Role> findR ...
- C++向main函数传递参数的方法(实例已上传至github)
通常情况下,我们定义的main函数都只有空形参列表: int main(){...} 然而,有时我们确实需要给mian传递实参,一种常见的情况是用户设置一组选项来确定函数所要执行的操作.例如,假定ma ...
- jsp中四种传递参数的方法
jsp中四种传递参数的方法如下: 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="i ...
- Jsp传递参数的方法
今天老师讲了jsp中四种传递参数的方法,我觉得总结一下,挺好的,以备后用! 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超 ...
- Javascript 定时器调用传递参数的方法
文章来源: https://m.jb51.net/article/20880.htm 备注:先记下,以后整理: Javascript 定时器调用传递参数的方法,需要的朋友可以参考下. 无论是wind ...
- JSP页面之间传递参数的方法有哪些?
JSP页面之间传递参数的方法有哪些? 解答: 1)request 2)session 3)application 4)提交表单 5)超链接
- php cli传递参数的方法
php cli传递参数的方法 <pre>$options = "f:g:"; $opts = getopt( $options ); print_r($opts); & ...
- springMVC controller间跳转 重定向 传递参数的方法
springMVC controller间跳转 重定向 传递参数的方法 spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参 ...
随机推荐
- HttpClient之Get请求和Post请求示例
HttpClient之Get请求和Post请求示例 博客分类: Java综合 HttpClient的支持在HTTP/1.1规范中定义的所有的HTTP方法:GET, HEAD, POST, PUT, ...
- AJ学IOS(39)UI之核心动画之CABasicAnimation(基础动画)
AJ分享,必须精品 一.CABasicAnimation简介 CAPropertyAnimation的子类 属性解析: fromValue:keyPath相应属性的初始值 toValue:keyPat ...
- 【转】Centos7启动网卡(获取ip地址)
这里之所以是查看下IP ,是我们后面要建一个Centos远程工具Xshell 连接Centos的时候,需要IP地址,所以我们这里先 学会查看虚拟机里的Centos7的IP地址 首先我们登录操作系统 用 ...
- 转载:URL链接中的不同用处
,井号:表示网页中的一个位置,被称之为锚点,常用于某个网页间不同位置的跳转,简单的说就是在一个网页中,URL 不变的情况下,通过添加"#buy"的字符在 URL 最后可以跳转到当前 ...
- python之elasticsearch查询
下载所需模块 python安装好的情况下,通过pip install elasticsearch进行es模块的安装 安装完成后通过pip list命中查询 导入模块 from elasticsearc ...
- 大数据并行计算框架Spark
Spark2.1. http://dblab.xmu.edu.cn/blog/1689-2/ 0+入门:Spark的安装和使用(Python版) Spark2.1.0+入门:第一个Spark应用程序: ...
- 2019-2020-1 20199308《Linux内核原理与分析》第一周作业
Linux 基础入门(新版)学习笔记 实验二 基本概念及操作 重要快捷键 Tab 补全命令 Ctrl+c 强行终止当前命令 历史命令 方向上键↑,恢复之前输入过的命令 通配符 在命令行中获取帮助 某个 ...
- Visual Studio 添加图标和版本
在Visual Studio中,如果你创建的是纯C语言的工程,那么给可执行程序添加图标就没有便捷的入口. 但也只是入口不好找了,添加步骤还是比较简单的,以下为具体操作方法: 1. 右键点击C工 ...
- 企业级 Harbor 镜像仓库
Harbor是由VMWare公司开源的容器镜像仓库.事实上,Harbor是在Docker Registry上进行了相应 的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基 ...
- nginx 配置多个 https 域名访问
需要此操作的原因 在服务器上部署了 halo blog 以后,这次需要部署另外一个项目,但是又不想使用 ip + port,因此选择使用 nginx 配置多个域名访问. nginx 配置 server ...