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形式跳转,带参数不拼接参 ...
随机推荐
- AJ学IOS(47)之网易彩票帮助界面UIWebView的运用
AJ分享,必须精品 效果: 制作过程 首先是帮助按钮那个地方的点击. 这里是用点击跳转的用的是 NJSettingArrowItem,前面的设置的,从字典通过模型转过来的. // 分享 NJSetti ...
- U - Obtain a Permutation CodeForces - 1294E 思维
题解: 注意每一列与每一列之间互不影响,所以贪心地求出没一列的最小操作值,然后累加起来. 怎么求没一列的最小值呢?维护一个数组same表示其中same[i]=j表示将该序列向上翻滚i次有j个元素归位, ...
- gdb 调试中No symbol “***” in current context解决方法
主要是因为GCC/G++版本和GDB不匹配造成的,网上也有说是因为O2优化问题,具体啥原因需要自己尝试一下. 解决: 放狗搜索,解决办法是在编译是加-gdwarf-3即可,出现这样的原因是gcc,gd ...
- Python函数的返回值和作用域
函数的返回值和作用域 1.返回值 def guess(x): if x > 3: return "> 3" else: retu ...
- 解决sublime打开文档,出现中文乱码问题
sublime text 软件中出现中文乱码,大多是因为编码格式不支持,需要安装一个插件就可以解决中文乱码问题,推荐安装 ConvertToUtf8 安装步骤: 1.按“shift + ctrl + ...
- python 中自带的堆模块heapq
import heapq my_heap = [] #使用列表保存数据 #网列表中插入数据,优先级使用插入的内容来表示,就是一个比较大小的操作,越大优先级越高 heapq.heappush(my_he ...
- fasttext 和pysparnn的安装
- SVM之不一样的视角
在上一篇学习SVM中 从最大间隔角度出发,详细学习了如何用拉格朗日乘数法求解约束问题,一步步构建SVM的目标函数,这次尝试从另一个角度学习SVM. 回顾监督学习要素 数据:(\(x_i,y_i\)) ...
- 进阶 Linux基本命令-2
mkdir -p /a/b/c/d -p 循环创建目录yum install tree -y ...
- 杂园日记-获取URL参数
function getUrlParams(name, url){ var locationUrl = window.location.search; if(url){ var s =url.inde ...