StringBuffer sql = new StringBuffer(); StringBuffer order = new StringBuffer(); Map<String, Object> parameter = new HashMap<>(); sql.append(" select * from jg_bed where delete_tag = 1 and tenant_id =:tenantId "); parameter.put("tenantId",tenantId); if (queryData.hasKey("bedType")) { sql.append(" and bed_type like '%'||:bedType||'%' "); parameter.put("bedType", queryData.getStrValue("bedType")); } if (queryData.hasKey("bedStatus")) { sql.append(" and bed_status like '%'||:bedStatus||'%' "); parameter.put("bedStatus", queryData.getStrValue("bedStatus")); } if (queryData.hasKey("bedStartPrice")) { sql.append(" and bed_price between '%'||:bedStartPrice||'%' "); parameter.put("bedStartPrice", queryData.getStrValue("bedStartPrice")); } if (queryData.hasKey("bedEndPrice")){ sql.append(" and bed_price '%'||:bedEndPrice||'%' "); parameter.put("bedEndPrice", queryData.getStrValue("bedEndPrice")); } sql.append("ORDER BY id ASC"); return this.sqlSearch(sql.toString(),BedModel.class,parameter);这个语法上有错误么 请指出并改正
时间: 2024-03-17 07:43:35 浏览: 75
在第一个 if 语句中,将 sql.append(" and bed_type like '%'||:bedType||'%' "); 改为 sql.append(" and bed_type like concat('%', :bedType, '%') ");,将第二个 if 语句中的 sql.append(" and bed_status like '%'||:bedStatus||'%' "); 改为 sql.append(" and bed_status like concat('%', :bedStatus, '%') ");,将第三个 if 语句中的 sql.append(" and bed_price between '%'||:bedStartPrice||'%' "); 改为 sql.append(" and bed_price between :bedStartPrice ");,将第四个 if 语句中的 sql.append(" and bed_price '%'||:bedEndPrice||'%' "); 改为 sql.append(" and bed_price <= :bedEndPrice "); 。
改正后的代码如下:
```
StringBuffer sql = new StringBuffer();
StringBuffer order = new StringBuffer();
Map<String, Object> parameter = new HashMap<>();
sql.append(" select * from jg_bed where delete_tag = 1 and tenant_id = :tenantId ");
parameter.put("tenantId", tenantId);
if (queryData.hasKey("bedType")) {
sql.append(" and bed_type like concat('%', :bedType, '%') ");
parameter.put("bedType", queryData.getStrValue("bedType"));
}
if (queryData.hasKey("bedStatus")) {
sql.append(" and bed_status like concat('%', :bedStatus, '%') ");
parameter.put("bedStatus", queryData.getStrValue("bedStatus"));
}
if (queryData.hasKey("bedStartPrice")) {
sql.append(" and bed_price >= :bedStartPrice ");
parameter.put("bedStartPrice", queryData.getStrValue("bedStartPrice"));
}
if (queryData.hasKey("bedEndPrice")) {
sql.append(" and bed_price <= :bedEndPrice ");
parameter.put("bedEndPrice", queryData.getStrValue("bedEndPrice"));
}
sql.append(" ORDER BY id ASC ");
return this.sqlSearch(sql.toString(), BedModel.class, parameter);
```
阅读全文