JDiy Core 基础包

JDiy Core

  jdiy-core 是JDiy项目的基础骨架,也是JDiyAdmin的核心依赖包。

  它对dao/Service/Controller层通用代码进行了抽象剥离; 利用JPA/QueryDSL等技术对数据库持久层ORM及Repository进行了深度封装,实现几乎零SQL, 并且类型安全(Type-safe) 的数据库CRUD以及动态查询操作; 另外它还提供了一些非常实用的Utils工具类(如Url请求/邮件发送/Excel导出)。集成相关的如Cache(分布式缓存处理), Store(统一附件存储,如阿里Oss/七牛Kodo,以及本机File附件存储)等等.

  JDiy底层基础通用的支撑代码,被放进jdiy-core包中。 同时,它也可以脱离jdiy-admin单独使用,作为常规项目的JPA基础操作依赖包。

一、 只要您熟悉JPA,即可轻松上手使用JDiy!
按照您熟悉的方式先创建@Entity实体类。
您只需要额外的让实体implements JpaEntity<PrimaryKeyType> 
即完成使用JDiy-Core编程开发的第一步.
习惯于MyBatis, JPA不熟?
理由:JPA注解太多,难于配置,动态查询不方便, Hibernate太难搞...
选择JDiy,我相信你会喜欢上她,极简配置,高效查询...
二、用10%代码量,完成99%的CRUD操作!
(见右边图示)编写一个空壳接口,继承JDiyDao,并打上@Repository注解(无需写接口实现),即刻完成Dao层代码90%工作量。 将它注入到您的业务Service中去使用吧。
mapping.xml / SQL?不存在的。向手撸SQL说再见吧!
功能很弱? JDiyDao可不止这些!
(1). spring-data-jpa 方法推导查询,注解查询 拿来就用:
(2). 仍旧不够?EntityManager/QueryDSL/SQL,写实现类都能搞定!
三、 泛型继承,JDiy帮您处理各层基础操作,让开发者专注于业务!
  在对应的Controller/Service层的接口或实现类中,JDiy提供了各种常用的底层操作方法, 以及分页查询/动态条件查询等。而您要做的,只是在类的声明上extends或implements我们提供好的基础类。
  我们不产生代码,我们只是代码的搬运工~~无需太多学习成本,让开发者更加专注于业务逻辑。 且JDiy的操作都是100% Type-Safe(类型安全)的,后期维护更加容易。
  
四、 动态条件查询? 实体类可以承担更多!
实现DslFilterable接口的createFilter方法,
一处编写,随处可用。 dao/service/Controller中:
  • count(T t)
  • findPager(int pageSize, int page, T t)
  • findPager(int pageSize, int page, T t, String order, String sort)
  • findList(int size, T t)
  • findList(int size, T t, String order, String sort)
动态查询,一触即发!

jdiy-core,不止于此,优雅,简洁,高效。 进一步使用教程,正在完善中......