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());         

}