我在spring boot中使用@Query并希望从数据库中获取数据。我的数据库中有一个名为data的表。它包含宽度和高度的图像。我想将一个图像宽度乘以高度,然后将此值添加到另一个图像的宽度*高度。我已经定义了一个221841的尺寸,并希望获得图像,直到尺寸小于我定义的尺寸。我写了一个查询但没有得到正确的输出。请建议我
这是我的查询
@Transactional
public interface DataDao extends CrudRepository<Data, Long> {
@Query(getDataIdMax)
List<Data> getDataIdMax(Long post_id);
final String getDataIdMax= "select d from Data d,Data d1 where d.postId=?1 and d.width*d.height+d1.width*d1.height < 221841";
}
这是我的实体类
@Entity
@Table(name = "data")
public class Data {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(name="p_id")
private long postId;
@Column(name="data_name")
private String dataName;
@Column(name="width")
private long width;
@Column(name="height")
private long height;
//Getters and setters
}
我的控制器
@RequestMapping("/images/{post_id}")
@ResponseBody
public List<Data> getDataIdMax(@PathVariable("post_id") long post_id, HttpServletRequest req, HttpServletResponse res) throws ServletException {
List<Data> postobj = dataDao.getDataIdMax(post_id);
return postobj;
}
答案 0 :(得分:-1)
你得到什么错误?或者你得到了什么价值?
一个建议:首先直接在数据库中尝试SQL查询,然后检查您的查询是否正确。