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