搜索

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 873|回复: 1

Mybatis传递多个参数

[复制链接]

4775

主题

4899

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
15234

社区QQ达人

发表于 2016-8-9 17:32:26 | 显示全部楼层 |阅读模式

ibatis3如何传递多个参数有两个方法:一种是使用Java.Map,另一种是使用JavaBean。

通过Map传递多个参数

parameterType 可以是别名或完全限定名,map或者java.util.Map,这两个都是可以的
        
<select id="selectBlogByMap" parameterType="map" resultType="Blog">            
select  t.ID, t.title, t.content               
FROM blog t              
where t.title = #{h_title}               
and  t.content =#{h_content}         
</select>        

  
public void testSelectByMap() {            
     SqlSession session = sqlSessionFactory.openSession();            
     Map<String, Object> param=new HashMap<String, Object>();            
     param.put("h_title", "oracle");            
     param.put("h_content", "使用序列");            
     Blog blog = (Blog)session.selectOne("cn.enjoylife.BlogMapper.selectBlogByMap",param);            
     session.close();            
     System.out.println("blog title:"+blog.getTitle());         
}        


通过JavaBean传递多个参数
     
<select id="selectBlogByBean" parameterType="Blog" resultType="Blog">
select t.ID, t.title, t.content
from blog t
wheret.title = #{title}
and t.content =#{content}         
</select>

   
public void testSelectByBean() {            
     SqlSession session = sqlSessionFactory.openSession();            
     Blog blog=new Blog();            
     blog.setTitle("oracle");              
     blog.setContent("使用序列!");            
     Blog newBlog = (Blog)session.selectOne("cn.enjoylife.BlogMapper.selectBlogByBean",blog);            
     session.close();            
     System.out.println("new Blog ID:"+newBlog.getId());         
}

原帖地址:http://kb.cnblogs.com/a/2291110/


分享到: 更多
友荐云推荐
射中网 www.shezhong.net 娄底街 www.loudijie.com 育儿之家 www.yuerso.com
回复

使用道具 举报

4775

主题

4899

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
15234

社区QQ达人

 楼主| 发表于 2016-8-9 17:33:59 | 显示全部楼层
[size=13.3333px]ibatis3如何传递多个参数有两个方法:一种是使用Map,另一种是使用JavaBean。
[size=13.3333px]

  1. <!--  

  2.   使用HashMap传递多个参数   

  3. parameterType 可以是别名或完全限定名 ,map->java.util.Map,这两个都是可以的  

  4. -->  

  5. <selectid="selectBlogByMap"parameterType="map"resultType="Blog">  

  6.      SELECT t.ID, t.title, t.content  

  7.        FROM blog t  

  8.       WHERE t.title = #{h_title}  

  9.         AND t.content =#{h_content}  

  10. </select>  

  11. <!-- 使用JavaBean传递多个参数 -->  

  12. <selectid="selectBlogByBean"parameterType="Blog"resultType="Blog">  

  13.      SELECT t.ID, t.title, t.content  

  14.        FROM blog t  

  15.       WHERE t.title = #{title}  

  16.         AND t.content =#{content}  

  17. </select>
  18. /**

  19.    * 通过Map传递多个参数

  20.    */

  21.   @Test

  22.   public void testSelectByMap() {  

  23.       SqlSession session = sqlSessionFactory.openSession();  

  24.       Map<String, Object> param=new HashMap<String, Object>();  

  25.       param.put("h_title", "oracle");  

  26.       param.put("h_content", "使用序列!");  

  27.       Blog blog = (Blog)session.selectOne("cn.enjoylife.BlogMapper.selectBlogByMap",param);  

  28.       session.close();  

  29.       System.out.println("blog title:"+blog.getTitle());  

  30.   }  

  31.   /**

  32.    * 通过JavaBean传递多个参数

  33.    */

  34.   @Test

  35.   public void testSelectByBean() {  

  36.       SqlSession session = sqlSessionFactory.openSession();  

  37.       Blog blog=new Blog();  

  38.       blog.setTitle("oracle");  

  39.       blog.setContent("使用序列!");  

  40.       Blog newBlog = (Blog)session.selectOne("cn.enjoylife.BlogMapper.selectBlogByBean",blog);  

  41.       session.close();  

  42.       System.out.println("new Blog ID:"+newBlog.getId());  

  43.   }
复制代码



射中网 www.shezhong.net 娄底街 www.loudijie.com 育儿之家 www.yuerso.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2020-8-9 14:12

© 2001-2011 Powered by Discuz! X3.1. Theme By Yeei!

快速回复 返回顶部 返回列表