mybatis 傳遞多個引數 --解決mybatis查詢使用多個引數方法--javabean傳統方法和map方法

瓜瓜東西發表於2014-07-27

ibatis3如何傳遞多個引數有兩個方法:一種是使用Map,另一種是使用JavaBean。

  • <!--  
  •      使用HashMap傳遞多個引數   
  •     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>  
  •     <!-- 使用JavaBean傳遞多個引數 -->  
  •     <select id="selectBlogByBean" parameterType="Blog" resultType="Blog">  
  •         SELECT t.ID, t.title, t.content  
  •           FROM blog t  
  •          WHERE t.title = #{title}  
  •            AND t.content =#{content}  
  •     </select> 
    1.   
    2.     @Test  
    3.     public void testSelectByMap() {  
    4.         SqlSession session = sqlSessionFactory.openSession();  
    5.         Map<String, Object> param=new HashMap<String, Object>();  
    6.         param.put("h_title""oracle");  
    7.         param.put("h_content""使用序列!");  
    8.         Blog blog = (Blog)session.selectOne("cn.enjoylife.BlogMapper.selectBlogByMap",param);  
    9.         session.close();  
    10.         System.out.println("blog title:"+blog.getTitle());  
    11.     }  
    12.       
    13.     @Test  
    14.     public void testSelectByBean() {  
    15.         SqlSession session = sqlSessionFactory.openSession();  
    16.         Blog blog=new Blog();  
    17.         blog.setTitle("oracle");  
    18.         blog.setContent("使用序列!");  
    19.         Blog newBlog = (Blog)session.selectOne("cn.enjoylife.BlogMapper.selectBlogByBean",blog);  
    20.         session.close();  
    21.         System.out.println("new Blog ID:"+newBlog.getId());  

相關文章