ibatis 传递多个参数

不知何时,ibatis3改为mybatis3了,听说mybatis3不用再需要自己手动实现DAO的实现类了,Service层可以直接使用DAO接口中的方法。

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

sqlXml配置:

<!-- 使用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> 测试代码:/** * 通过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()); }

你可能感兴趣的:(DAO,oracle,ibatis,session,Blog,HashMap)