Mybatis传递多个参数

 

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

  

<!-- 
 
  使用HashMap传递多个参数  
 
 parameterType 可以是别名或完全限定名 ,map->java.util.Map,这两个都是可以的 
 
 --> 
 
 <selectid="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> 
 
 <!-- 使用JavaBean传递多个参数 --> 
 
 <selectid="selectBlogByBean"parameterType="Blog"resultType="Blog"
 
     SELECT t.ID, t.title, t.content 
 
       FROM blog t 
 
      WHERE t.title = #{title} 
 
        AND t.content =#{content} 
 
 </select>
/**
 
   * 通过Map传递多个参数
 
   */ 
 
  @Test 
 
  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传递多个参数
 
   */ 
 
  @Test 
 
  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()); 
 
  }
05-11 04:04