博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis三种传值方式
阅读量:7153 次
发布时间:2019-06-29

本文共 1214 字,大约阅读时间需要 4 分钟。

 

第一种:按序列传参(dao层的函数方法)

[sql]
Public User selectUser(String name,String area);
对应的Mapper.xml
[sql]
<select id="selectUser" resultMap="BaseResultMap">
select * from user_user_t where user_name = #{0} and user_area=#{1}
</select>
#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可。

第二种:Map传参

此方法采用Map传多参数.

Dao层的函数方法

[sql]

Public User selectUser(Map paramMap);
对应的Mapper.xml
[sql]
<select id=" selectUser" resultMap="BaseResultMap">
select * from user_user_t where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
</select>
Service层调用

[sql]

Private User xxxSelectUser(){
Map paramMap=new hashMap();
paramMap.put(“userName”,”对应具体的参数值”);
paramMap.put(“userArea”,”对应具体的参数值”);
User user=xxx. selectUser(paramMap);}
个人认为此方法不够直观,见到接口方法不能直接的知道要传的参数是什么。

第三种:Dao层的函数方法(注解)

[sql] view plain copy
Public User selectUser(@param(“userName”)Stringname,@param(“userArea”)String area);
对应的Mapper.xml
[sql] view plain copy
<select id=" selectUser" resultMap="BaseResultMap">
select * from user_user_t where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
</select>
个人觉得这种方法比较好,能让开发者看到dao层方法就知道该传什么样的参数,比较直观,个人推荐用此种方案。

转载于:https://www.cnblogs.com/Yxxxxx/p/6825866.html

你可能感兴趣的文章
host
查看>>
Three.js
查看>>
[02]文本元素
查看>>
CS231n 2016 通关 第四章-NN 作业
查看>>
[HihoCoder1596]Beautiful Sequence
查看>>
Asymptote 学习记录(5) 模块roundedpath的用法
查看>>
Introduction to Differential Equations,Michael E.Taylor,Page 3,4 注记
查看>>
老男孩教育python全栈第九期视频
查看>>
oracle database link
查看>>
Butterknife的使用
查看>>
关于EF的一个简单Demo
查看>>
hive-hbase性能问题
查看>>
kafka集群的搭建
查看>>
藏在正则表达式里的陷阱-----转发记录问题
查看>>
GridView控件中插入自定义删除按钮并弹出确认框
查看>>
Json Web Token 简介
查看>>
Day03 - Python 函数
查看>>
第47天 关于html
查看>>
模板语法 mustache语法 双大括号
查看>>
爬虫之Scrapy框架介绍
查看>>