文档章节

Mybatis传多个参数(三种解决方案)

quickhelper
 quickhelper
发布于 2015/05/15 10:13
字数 264
阅读 3
收藏 0

第一种方案 

DAO层的函数方法 

Public User selectUser(String name,String area);

对应的Mapper.xml  

<select id="selectUser" resultMap="BaseResultMap">
    select  *  from user_user_t   where user_name = #{0} and user_area=#{1}
</select>

其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可。

第二种方案

此方法采用Map传多参数.

Dao层的函数方法

Public User selectUser(Map paramMap);

对应的Mapper.xml

<select id=" selectUser" resultMap="BaseResultMap">
   select  *  from user_user_t   where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
</select>

Service层调用

Private User xxxSelectUser(){
Map paramMap=new hashMap();
paramMap.put(“userName”,”对应具体的参数值”);
paramMap.put(“userArea”,”对应具体的参数值”);
User user=xxx. selectUser(paramMap);}

个人认为此方法不够直观,见到接口方法不能直接的知道要传的参数是什么。

第三种方案

Dao层的函数方法

Public User selectUser(@param(“userName”)Stringname,@param(“userArea”)String area);

对应的Mapper.xml

<select id=" selectUser" resultMap="BaseResultMap">
   select  *  from user_user_t   where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
</select>


本文转载自:http://www.2cto.com/database/201409/338155.html

quickhelper
粉丝 1
博文 82
码字总数 5482
作品 0
武汉
程序员
私信 提问
mybatis的@param注解以及Mybatis传多个参数(三种解决方案)

一、mybatis的@param注解 自定义对象也用@param注解. 在mapper.xml中使用的时候,#{对象别名.属性名},如#{user.userName} 注意,使用了@pram注解的话在mapper.xml不加parameterType。 sele...

小湘西
2016/10/12
1K
0
Mybatis传多个参数

Mybatis传多个参数 第一种方案 DAO层的函数方法 Public User selectUser(String name,String area); 对应的Mapper.xml <select id="selectUser" resultMap="BaseResultMap"> select * from u......

风中帆
2016/11/25
34
0
Mybatis的Dao向mapper传多个参数(三种解决方案)

第一种方案 DAO层的函数方法 [sql] view plain copy Public User selectUser(String name,String area); 对应的Mapper.xml [sql] view plain copy <select id="selectUser" resultMap="BaseR......

architect刘源源
2018/02/13
18
0
mybatis ${}与#{}的区别mybatis三种传值方式

简单来说#{} 解析的是占位符?可以防止SQL注入, 比如打印出来的语句 select * from table where id=?然而${} 则是不能防止SQL注入打印出来的语句select * from table where id=2 实实在在...

architect刘源源
2018/05/03
21
5
mybatis 传入一个参数时 报错解决方案

原因分析 Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取string.num值,引起报错。 解决方案1: 无论参数名,都要改成"_parameter"。 解决方案二:public List methodName(@Para...

james_lz
2016/08/17
138
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot 集成MongoDB

一、MongoDB 简介 MongoDB 如今是最流行的 NoSQL 数据库,被广泛应用于各行各业中,很多创业公司数据库选型就直接使用了 MongoDB,但对于大部分公司,使用 MongoDB 的场景是做大规模数据查询...

zw965
23分钟前
11
0
使用 Envoy 和 AdGuard Home 阻挡烦人的广告

> 原文链接:使用 Envoy 和 AdGuard Home 阻挡烦人的广告 通常我们使用网络时,宽带运营商会为我们分配一个 DNS 服务器。这个 DNS 通常是最快的,距离最近的服务器,但会有很多问题,比如: ...

米开朗基杨
56分钟前
19
0
springboot之全局处理异常封装

springboot之全局处理异常封装 简介 在项目中经常出现系统异常的情况,比如NullPointerException等等。如果默认未处理的情况下,springboot会响应默认的错误提示,这样对用户体验不是友好,系...

Purgeyao
今天
24
0
cookie

cookie: n. 饼干;小甜点 为什么会引入Cookie(在客户端保持http状态) 因为http协议是一种无状态协议,web服务器本身不能识别出哪些请求是同一个服务器发送的,浏览器的每一次请求都是独立...

五公里
今天
25
0
PHP常用函数

<?php/** * 获取客户端IP * @return [string] [description] */function getClientIp() { $ip = NULL; if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $arr = explode('......

半缘修道半缘君丶
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部