以下查询我正在MySQL编辑器中运行。
SELECT * FROM on_plan_test.line_item_meta WHERE name LIKE '%total %';
这里我在单词'total'后面加了一个空格,这个查询在MySQL工作台中正确给出了结果,得到了三个记录。
name
total ftp
total revenue
total tax
但是我从JAVA运行相同的查询
@Query(value = "SELECT NEW com.onplan.responsepayload.LineItemForAutoCompleteResponsePayload(sl.lineItemId,s1.sheetId) from LineItemMeta s1 where s1.name like %?1% ")
public List<LineItemForAutoCompleteResponsePayload> getLineItemListForAutoComplete( String name);
以上查询未给出结果。在这里,我在“名称”变量中传递“总计”。 (一个字的总字数)我在这里做错了吗?
您应该试试这个]
@Query(value = "SELECT NEW com.onplan.responsepayload.LineItemForAutoCompleteResponsePayload(sl.lineItemId,s1.sheetId) from LineItemMeta s1 where s1.name like :name") public List<LineItemForAutoCompleteResponsePayload> getLineItemListForAutoComplete(@Param("name") String name);
并以此方式使用
List<LineItemForAutoCompleteResponsePayload> list = getLineItemListForAutoComplete("%" + name + "%")