mybati之parameterType传递多个参数

当在查询的时候需要传入多个参数的时候该怎么办呢:shiyong

1,封装成一个Model对象,底层HashMap还是一个

2,使用HashMap封装

3,使用注解,@param

queryUserByuserNameAndPass(String userName,String PassWord);  //返回值类型为Usre

//sql

<select id="queryUserByuserNameAndPass"  resultType="User">

select * from user u where u.user_name=#{userName} and u.pass_word=#{passWord}//会报错的

</select>

改为如下:

<select id="queryUserByuserNameAndPass"  resultType="User">

select * from user u where u.user_name=#{0} and u.pass_word=#{1}//运行成功但是,可读性不高

</select>

//使用HashMap定义:

HashMap <String,Object> map=new HashMap<String,Object>();

map.put("userName","zhangsan");

map.put("password","123456");

queryUserByuserNameAndPass(map);//为返回值类型为User

//sql 如下:

<select id="queryUserByuserNameAndPass"  resultType="User">

select * from user u where u.user_name=#{userName} and u.pass_word=#{passWord}//

</select>

ibati用HashMap封装是sql如下:

<select id="queryUserByuserNameAndPass"  parameterClass="java.util.HashMap"  resultType="User">

select * from user u where u.user_name=#{userName} and u.pass_word=#{passWord}

</select>

时间: 2024-12-18 17:15:05

mybati之parameterType传递多个参数的相关文章

关于向Mybatis传递多个参数进行SQL查询的用法

当只向xxxMapper.xml文件中传递一个参数时,可以简单的用"_parameter"来接收xxxMapper.java传递进来的参数,并代入查询,比如说这样: (1)xxxMapper.java文件中这样定义: List<String> selectAllAirportCode(Boolean mapping); (2)这时在对应的xxxMapper.xml文件中可以使用"_parameter"来接收这个参数: <select id=&quo

问题:子信息不能够传递多个参数,利用脚本可以做到

问题:子信息不能够传递多个参数,利用脚本可以做到.1.加前端脚本function GridRowOnDblClick(strFile,pkValue,rowIndex){var ksrq = document.all.val_KSRQ.value;//2个控件的值var jsrq = document.all.val_JSRQ.value;//2个控件的值strFile=strFile+"&ksrq="+ksrq+"&jsrq="+jsrq;if (

CreateThread传递多个参数的方法(利用结构体的参数指针)

很多朋友一直都在问CreateThread如何传递多个参数,CreateThread传递参数的方式是指针传递的,所以这里也可以利用指针来做!Demo 关键代码如下: type  TfrmTestThread = class(TForm)    Button1: TButton;    procedure Button1Click(Sender: TObject);  private    { Private declarations }  public    { Public declarati

URL传递多个参数遇到的bug

bug所在: 通过URL传递多个参数的时候,其一是中文出现乱码,其二是空格被"%20"替代: 原因分析:原理暂时还不清楚,后续再研究下原理,只知道有中文的时候就会出现乱码:%20是url空格的编码: 提到编码,就得来简单了解下(周末再详细补充下知识)编码的几种格式: 一:ASCII码,美国标准信息交换码,只有7位. 二:UTF-8:是一种针对Unicode的可变长度字符编码,用1-6个字节 编码Unicode字符. 三:ISO-8859-1,是浏览器默认编码,包含了西方欧洲语言不可缺少

form提交时,传递额外的参数

在进行表单提交时,会遇到在提交前增加额外参数的情况,对此有如下几种解决方法: 1. 在表单里使用hidden的input,将参数放到里面. 缺点:在form表单里会增加一些input节点,感觉不爽. 2. 在提交前使用javascript动态在表单里添加input. 缺点:需要写脚本. 3. 使用ajax提交拼接参数. 缺点:如果表单里有文件需要上传,就行不通了. form提交时,传递额外的参数,布布扣,bubuko.com

jquery通过url传递 和 接收 参数

一传递参数页面index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jquery通过url传递 和 接收 参数</title> <style type="text/css"> h1{text-align: center;} </style> </head> <body

转载 C#中使用结构来传递多个参数

C#中当参数超过5个时,建议用结构来传递多个参数. 示例代码如下: 1 public struct MyStruct 2 { 3 public string str; 4 public int number; 5 } 6 7 class Program 8 { 9 static void Main(string[] args) 10 { 11 MyStruct myStruct = new MyStruct(); 12 myStruct.str = "Number :"; 13 myS

CreateThread传递多个参数的方法

很多朋友一直都在问CreateThread如何传递多个参数,CreateThread传递参数的方式是指针传递的,所以这里也可以利用指针来做!Demo 关键代码如下: type  TfrmTestThread = class(TForm)    Button1: TButton;    procedure Button1Click(Sender: TObject);  private    { Private declarations }  public    { Public declarati

C# 使用Tuple传递多个参数

Tuple是基于.NET Framework 4.0 及以上版本才有的.微软称它为元组,如果有三个参数那就是三元组.如 Tuple(T1, T2, T3) Tuple的命名空间在 System 很短吧,也就是说只要是基于.NET Framework 4.0 及以上版本的,创建项目就可以直接在Visual Studio中敲出来. 程序集: mscorlib(在 mscorlib.dll 中) 为什么要使用Tuple 来!先看看下面这个方法. public bool MyMethod(out str