@Mybatis传多个参数
首选还是按照面向对象的方式执行sql。但是有时候入参对象嵌套的比较深,类中有类,面向对象就不太好处理了
主要有以下两种方式
1.DAO层的函数方法
public User selectUser(String name,String area);
对应的mapper.xml文件
<select id="selectUser" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List" />
FROM tb_user
WHERE user_name = #{0} AND user_area=#{1}
</select>
其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可。
2.此方法采用Map传多参数(推荐!)
Dao层的函数方法
public User selectUser(Map<String,Object> paramMap);
对应的mapper.xml文件
<select id="selectUser" parameterType="java.util.Map" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List" />
FROM tb_user
WHERE user_name = #{userName,jdbcType=VARCHAR}
AND user_area=#{userArea,jdbcType=VARCHAR}
</select>
Service层调用
private User SelectUser(){
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("userName",xxx);
paramMap.put("userArea",xxx);
User user=xxx.selectUser(paramMap);
return user;
}
@Mybatis传多个参数的更多相关文章
- Mybatis传多个参数的问题 及MyBatis报错 Parameter '0' not found. Available parameters are [arg1, arg0, param1 问题
对于使用Mybatis ,传多个参数,我们可以使用对象封装外,还可以直接传递参数 对象的封装,例如查询对象条件basequery对象 <select id="getProductByP ...
- MyBatis学习总结(19)——Mybatis传多个参数(三种解决方案)
据我目前接触到的传多个参数的方案有三种. 第一种方案 DAO层的函数方法 Public User selectUser(String name,String area); 对应的Mapper.xm ...
- 【转】Mybatis传多个参数(三种解决方案)
转自: http://www.2cto.com/database/201409/338155.html 据我目前接触到的传多个参数的方案有三种. 第一种方案: DAO层的函数方法 Public Use ...
- Mybatis传多个参数(三种解决方案)
第一种方案 DAO层的函数方法 Public User selectUser(String name,String area); 对应的Mapper.xml <select id="s ...
- Mybatis传多个参数(三种解决方案) mapper.xml的sql语句修改!
第一种 Public User selectUser(String name,String area); 对应的Mapper.xml <select id="selectUser&qu ...
- mybatis传多个参数实例
最近在做一个统计功能,有一个功能点:根据id更新某字段的值.那么就需要有两个参数,我的做法: dao层: int updateTaskCount(int taskCount,int id); 对应的m ...
- mybatis传多个参数(不使用@param注解情况下),3.4.2版本之后出现#{0}-#{n}参数绑定异常
解决方案: 在mybatis配置文件中声明setting属性的useActualParamName 参数值为false ** 这种方法解决mybatis3.4.2之后的版本产生该问题的解决方法**
- Mybatis传多个参数(三种解决方案)
http://blog.csdn.net/liangyihuai/article/details/49965869 (zhuan)
- Mybatis传多个参数(推荐)
Dao层的函数方法 int deleteMsgById(@Param("name") String name,@Param("id") String id); ...
随机推荐
- Swift Internal Parameter and External Parameter 外部参数和内部参数
今天跟大神又学习了些关于IOS开发Swift语言的外部参数和内部参数 func doSomething(num1: Int, num2: Int) -> Int { return num1 + ...
- [转载]从GetSafeHwnd()和GetSafeHandle()分析句柄和指针
GetSafeHwnd()和GetSafeHandle()的主要区别: 1.使用者不同: (1)窗体使用: GetSafeHwnd()用于获取窗体的安全句柄(即HWND),有了HWND我们就可以方便的 ...
- kail-linux 安全之旅
一些学习网站 http://xiao106347.blog.163.com/blog/static/2159920782013111995945233/ http://xiao106347.blog. ...
- IT电子书网站下载
https://www.gitbook.com/ http://www.it-ebooks.info/ http://www.fenby.com/courses/sections/kuai-su-ka ...
- 将组策略中的内容导出至CSV格式
#将组策略首选项中的"本地用户和组"下的所有条目导出 $xml = Get-GPOReport -ReportType Xml -Name "China Desktop ...
- 【液晶模块系列基础视频】2.虚拟U盘
[液晶模块系列基础视频]2.虚拟U盘 ============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee ...
- Memcached 笔记与总结(4)memcache 扩展的使用
在 wamp 环境下进行测试:WAMPSERVER 2.2(Windows 7 + Apache 2.2.21 + PHP 5.3.10 + memcache 3.0.8 + Memcached 1. ...
- DirectX 常用选项(转)
内存池表面和其它一些Direct3D资源被放在多种内存池中.内存池的种类由D3DPOOL枚举类型的一个成员来指定.可用到的内存池有下列几种:D3DPOOL_DEFAULT--表示Direct3D将根据 ...
- cluster analysis in data mining
https://en.wikipedia.org/wiki/K-means_clustering k-means clustering is a method of vector quantizati ...
- Linguistic corpora 种子语料库-待分析对象-分析与更新语料库
Computational Linguistics http://matplotlib.org/ https://github.com/matplotlib/matplotlib/blob/maste ...