entity:

@Entity
@Table(name = "data_illustration")
public class Test { @Id
@GenericGenerator(name = "uuid", strategy = "org.hibernate.id.UUIDGenerator")
@GeneratedValue(generator = "uuid")
private String id; @Column(name = "fileId")
private String fileid; private String title; @Column(name = "WFState")
private String wfstate; @Column(name = "issueNo")
private String issueno; private String format; //对应得set、get方法省略 }

mapper:

public interface IllustrationMapper extends JpaRepository<Test, String> {
@Transactional
@Modifying
@Query(value="delete from test where id=?1 ",nativeQuery=true)
int deleteByPrimaryKey(String id); List<Test> findAll(Specification<CsdbDataIllustration> specification); //传入Specification对象 }

service:

public List<Test > getDataIllustrationList(Test test) {
List<Test > test2 = dataIllustrationMapper.findAll(new Specification<Test >(){
@Override
public Predicate toPredicate(Root<Test > root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> predicates = new ArrayList<Predicate>(); if(StringUtils.isNotBlank(test.getId())){
predicates.add(cb.equal(root.get("id"), test.getId()));
} if(StringUtils.isNotBlank(test.getFileid())){
predicates.add(cb.equal(root.get("fileid"), test.getFileid() ));
}
if(StringUtils.isNotBlank(test.getTitle())){
predicates.add(cb.equal(root.get("title"), test.getTitle() ));
}
if(StringUtils.isNotBlank(test.getWfstate())){
predicates.add(cb.equal(root.get("wfstate"), test.getWfstate() ));
}
if(StringUtils.isNotBlank(test.getIssueno())){
predicates.add(cb.equal(root.get("issueno"), test.getIssueno() ));
}
if(StringUtils.isNotBlank(test.getFormat())){
predicates.add(cb.equal(root.get("format"), test.getFormat() ));
} return cb.and(predicates.toArray(new Predicate[predicates.size()])); //将上面满足条件的项用and拼接起
                                                   //来进行查询,当然此处也可以改为or或者like等等,视情况而定
} });
return test2;
}

最新文章

  1. Java集合之HashMap
  2. SSL/TLS协议运行机制
  3. Powershell查看SSAS Cube占用磁盘空间
  4. CCF真题之图像旋转
  5. mysql去除重复数据
  6. EasyUI combotree 使用技巧
  7. 整合UMDH结果的一个小工具
  8. [wikioi]合并果子
  9. 解决Ubuntu下sublime3无法输入中文
  10. 【转】unity3d 各种优化综合
  11. JavaScript运行命令
  12. 将JSON对象转化为数组对象
  13. C#设计模式之二简单工厂模式(过渡模式)
  14. C#常见问题总结(二)
  15. vue 日期时间过滤器
  16. 求n!中含有某个因子个数的方法
  17. git指令详解总结
  18. python第l六天,lambda表达式学习,涉及filter及Map。
  19. 附001.kubectl介绍及使用
  20. 数据库04_SQL简单实践

热门文章

  1. C#中的依赖注入那些事儿
  2. 可以方便配合 Git 的现代编辑器
  3. hadoop之 解析HDFS的写文件流程
  4. http链接
  5. 如何在 Linux 上使用 x2go 设置远程桌面
  6. RK3288 dts和dtsi介绍
  7. DBUtils 增删改查例子
  8. STM32学习笔记之__attribute__ ((at())绝对定位分析
  9. JVM内存管理之垃圾搜集器参数精解
  10. Java - 将 List 等分(最后一部分处理多余部分)