1.在good.xml中编辑sql语句(单参数)
<!-- 单参数传递,使用parameterType指定参数的数据类型即可,SQL中#{value}提取参数-->
<select id="selectById" parameterType="Integer" resultType="com.imooc.mybatis.entity.Goods">
select *
from t_goods
where goods_id = #{value}
</select>
1.1在MybatisTest.java中增加测试用例
/** * 传递单个SQL参数 * * @throws Exception */ @Test public void testSelectById() throws Exception { SqlSession session = null; try { session = MyBatisUtils.openSession(); Goods goods = session.selectOne("goods.selectById", 1603);//1603代表传入的参数 System.out.println(goods.getTitle()); } catch (Exception e) { throw e; } finally { MyBatisUtils.closeSession(session); } }
2.在good.xml中编辑sql语句(多参数)
<!-- 多参数传递时,使用parameterType指定Map接口,SQL中#{key}提取参数 #{limt}代表多少条数据--> <select id="selectByPriceRange" parameterType="java.util.Map" resultType="com.imooc.mybatis.entity.Goods"> select * from t_goods where current_price between #{min} and #{max} order by current_price limit 0,#{limt} </select>
2.1在MybatisTest.java中增加测试用例
/** * 传递多个SQL参数 * * @throws Exception */ @Test public void testSelectByPriceRange() throws Exception { SqlSession session = null; try { session = MyBatisUtils.openSession(); Map param = new HashMap(); param.put("min", 100); param.put("max", 500); param.put("limt", 10); List<Goods> list = session.selectList("goods.selectByPriceRange", param); for (Goods g : list) { System.out.println(g.getTitle() + ":" + g.getCurrentPrice()); } } catch (Exception e) { throw e; } finally { MyBatisUtils.closeSession(session); } }
标签:传参,Exception,goods,param,011,session,SQL,Mybatis,MyBatisUtils From: https://www.cnblogs.com/LLL0617/p/16852447.html