对于 Lombok,有人爱它,当然也有人十分讨厌它,爱它的人觉得使得代码变得简洁易读,讨厌它的人觉得破坏了 Java 的编程思想,在编译期增加了很多代码。
对于我来说既不爱它,也不讨厌它,只是觉得程序员的工作太过繁杂,重复的工作量太多,只是想通过我的项目释放一些程序员的工作。
项目地址: https://github.com/braisdom/ObjectiveSql (感兴趣的为国人的开源项目点赞,我的目标是超越 MyBatis, JooQ 等 ORM 框架,成为 Java 领域的主流 ORM 框架)
前面已经有过一次讨论了,只是希望更人关注项目,目前已经 800+ stars
简单展示一下,更多请访问项目主页:
@DomainModel public class Member { private String no; @Queryable private String name; private Integer gender; private String mobile; private String otherInfo; @Relation(relatiOnType= RelationType.HAS_MANY) private List<Order> orders; }
简单查询
Member.countAll(); Member.count("id > ?", 1); Member.queryByPrimaryKey(1); Member.queryFirst("id = ?", 1); Member.query("id > ?", 1); Member.queryAll();
关联查询
Member.queryAll(Member.HAS_MANY_ORDERS); Member.queryByPrimary(1, Member.HAS_MANY_ORDERS); Member.queryByName("demo", Member.HAS_MANY_ORDERS);
分页查询
Page page = Page.create(0, 10); PagedList<Member> members = Member.pagedQueryAll(page, Member.HAS_MANY_ORDERS);
注意:示例中的 各类查询 method 和 Member.HAS_MANY_ORDERS 都是动态生成的
![]() | 1 salaryfly 2020-12-05 21:24:11 +08:00 很好的想法,支持一下! |
3 night98 2020-12-05 21:43:17 +08:00 简单看了下,感觉和 mybatis-dynamic-sql 有点像,看起来还是不错的样子,但还是希望少用字符串方式,例如: ```Member.count("id > ?", 1);``` 还是希望类似 mybatisplus 一样,支持 Object::field 这种方式,后期字段名称修改也能很方便 |