0
点赞
收藏
分享

微信扫一扫

015.3MyBatis动态SQL(多条件复合查询)

Ichjns 2022-12-10 阅读 71

1.goods.xml

<select id="dynamicSQL" parameterType="java.util.Map" resultType="com.imooc.mybatis.entity.Goods">
select * from t_goods
<where>
<if test="categoryId != null">
and category_id = #{categoryId}
</if>
<if test="currentPrice != null">
and current_price < #{currentPrice}
</if>
</where>
</select>

2.测试用例

/**
* 动态SQL语句
*
* @throws Exception
*/
@Test
public void testDynamicSQL() throws Exception
{
SqlSession session = null;
try
{
session = MyBatisUtils.openSession();
Map param = new HashMap();
param.put("categoryId", 44);
param.put("currentPrice", 500);
//查询条件
List<Goods> list = session.selectList("goods.dynamicSQL", param);
for (Goods g : list)
{
System.out.println(g.getTitle() + ":" + g.getCategoryId() + ":" + g.getCurrentPrice());

}
}
catch (Exception e)
{
throw e;
}
finally
{
MyBatisUtils.closeSession(session);
}
}

 



举报

相关推荐

0 条评论