Mybatis自己写sql语句分页查询数据

1、由于最近刚刚接触Mybatis,想要自己写一个sql,其中是多张表关联的,但是返回的还不想是hashMap格式,就写了很长时间才写好,写好了后发现没有分页查询,就重新写了一个,好了直接上代码。

2、直接定义一个Vo类,内容和实体bean一致

public class OrderVo extends BasePageVo implements Serializable{


3、查询语句的编写,其中OrderVo是一个实体bean

Result result = new Result();
        OrderVoexample = new OrderVo();
        if(!StringUtils.isEmpty(vo.getAgentId())){
            example.setAgentId(vo.getAgentId());
        }
        List<OrderVo> orderList = orderMapper.selectByOrderList(example);
/*        for(Order map:orderList){
        }*/
        result.setData(orderList);
        result.setStatus("success");

        return result;

4、在xml中编写就可以了。

  <select id="selectByOrderList" parameterType="com.houseguide.vo.OrderVo" resultMap="BaseResultMap">
             SELECT b_order.*,scl.clientName,scl.clientPhone,sag.`name` agentName,
             sag.phone agentPhone,bui.buildingName FROM b_order
          LEFT JOIN s_client scl ON b_order.clientId = scl.clientId
          LEFT JOIN s_agent sag ON b_order.agentId = sag.id
          LEFT JOIN b_building bui ON bui.buildingId=b_order.buildingId
          WHERE b_order.deleteFlag=0
   <if test="agentId != null ">
         and b_order.agentId=#{agentId,jdbcType=CHAR}
   </if>
          ORDER BY b_order.createTime DESC

  </select>

5、以上内容虽然实现了,但是没有用到example类,感觉实现的有点太简单。可能不符合本身的设计模式

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值