hql和ifnull应用两实例

hql应用:

public List<Map<String, Object>> getAllVehicleByPlate(String vehiclePlate,String userId,Long companyId) {

        String hql = "select new Map(" + "v.simCard as id,v.inNetworkTime as inNetworkTime,"
                + " v.plateNumber as text)"
                + " from Vehicle v , Fleet f ,Company c "
                + " where  v.fleetId = f.fleetId and v.companyId = c.companyId "
                + " and f.state='0' and c.delFlag='0' and v.plateNumber is not null "
                + " and v.plateNumber!='' and v.state='0' and v.plateNumber like '%"+vehiclePlate+"%'";
        if(StringUtils.hasText(userId)){
            hql += " and c.manager ='" + userId + "'";
        }
        if(companyId != null){
            hql += " and v.companyId =" + companyId;
        }
        return this.findByHQL(hql);
    }

应用ifnull:

rows_sql =
                " select a.news_id as newsId, a.title, a.release_date " +
                "as releaseDate, a.state, IFNULL(d.employee_name ,'单位管理员')" +
                "AS employeeName" +
                " from tb_b_news a, tb_c_system_user c left join tb_c_employee d " +
                "on c.employee_id = d.employee_id where a.news_type = '0' " +
                "and a.state = "+state+" and a.release_man = c.user_id" +
                " and a.release_man = '"+userId+"'";

rows_sql =
                " select a.news_id as newsId, a.title, a.release_date " +
                "as releaseDate, a.state, IFNULL(d.employee_name ,'单位管理员') as employeeName," +
                " (select e.news_sort_name from tb_b_news_sort e " +
                "where a.news_sort = e.news_sort_id ) as newsSort" +
                " from tb_b_news a, tb_c_system_user c " +
                "left join tb_c_employee d on c.employee_id = d.employee_id " +
                "where a.news_type = '"+newsType+"' and a.state = "+state+" and a.release_man = c.user_id" +
                " and a.release_man = '"+userId+"'";


修改前为以下:


rows_sql =
                " select a.news_id as newsId, a.title, a.release_date " +
                "as releaseDate, a.state, d.employee_name as employeeName," +
                " (select e.news_sort_name from tb_b_news_sort e " +
                "where a.news_sort = e.news_sort_id ) as newsSort" +
                " from tb_b_news a, tb_c_system_user c " +
                "left join tb_c_employee d on c.employee_id = d.employee_id " +
                "where a.news_type = '"+newsType+"' and a.state = "+state+" and a.release_man = c.user_id" +
                " and a.release_man = '"+userId+"'";
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值