最近在写项目过程中发现一款很好用的框架。它的功能非常好用且非常实用。底层封装了Java8的特性stream流,本人在工作中擅长使用stream去写各种业务逻辑代码。用了一段时间给予JDFrame此开源框架好评。
个人认为趋势它后续是一款非常火热的常用框架。针对写习惯sql思想的伙伴们有救啦。
功能上我测试集成了各种方法。以及一些教程还是比较充实的。
POM maven 引入方式
<dependency>
<groupId>io.github.burukeyou</groupId>
<artifactId>jdframe</artifactId>
<version>0.1.3</version>
</dependency>
测试类:
public class TestA{
@Data
@AllArgsConstructor
class Student{
private String name;
private Integer age;
}
@Test
public void test(){
List<Student> studentList = new ArrayList<>();
studentList.add(new Student("jay", 3));
studentList.add(new Student("chen", 4));
studentList.add(new Student("chen", 5));
studentList.add(new Student("chen", 6));
SDFrame.read(studentList)
.whereBetween(Student::getAge,3,6)//过滤年龄在[3,6]岁的
.whereBetweenR(Student::getAge,3,6)//过滤年龄在(3,6]岁的,不含3岁
.whereBetweenL(Student::getAge,3,6)//过滤年龄在[3,6)岁的,不含6岁
.whereNotNull(Student::getName)//过滤名字不为空的数据,兼容了空字符串''的判断
.whereGt(Student::getAge,3)//过滤年龄大于3岁
.whereGe(Student::getAge,3)//过滤年龄大于等于3岁
.whereLt(Student::getAge,3)//过滤年龄小于3岁的
.whereIn(Student::getAge,Arrays.asList(3,7,8))//过滤年龄为3岁或者7岁或者8岁的数据
.whereNotIn(Student::getAge,Arrays.asList(3,7,8))//过滤年龄不为为3岁或者7岁或者8岁的数据
.whereEq(Student::getAge,3)//过滤年龄等于3岁的数据
.whereNotEq(Student::getAge,3)//过滤年龄不等于3岁的数据
.whereLike(Student::getName,"jay")//模糊查询,等价于like"%jay%"
.whereLikeLeft(Student::getName,"chen")//模糊查询,等价于like"chen%"
.whereLikeRight(Student::getName,"chen");//模糊查询,等价于like"%chen"
}
}
由于工作繁忙这里是简单的列举了一些。大家可以去网上搜更完整的JDFream框架相关的内容。用sql思想去对集合操作是不是很方便。