From b0096c29b9a02af6b7029bbf5578d4afad3d6383 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Wed, 1 Mar 2017 20:49:32 +0800 Subject: [PATCH] --- article_source.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/article_source.html b/article_source.html index 11dddd7e3..7d9184123 100644 --- a/article_source.html +++ b/article_source.html @@ -26,10 +26,12 @@

Redkale 技术详解 04 -- Java DataSource简易的DB操作

-         长期以来,Hibernate和Mybatis一直是大家使用最多的持久层开发框架。针对这两种框架网络上是各种比较,各种讨论优缺点。其实这两个框架都是2002年左右发布的(算上前身ibatis),如同当年Spring鄙视JavaEE是庞然大物一样,现如今Spring、Hibernate、Mybatis这些老框架经历了15个年头也已笨重不堪,Mybatis的jar包近6M,Hibernate加上依赖包更是大得离谱。一个Tomcat(不算webapps)也不过才7-8M, 而一个DB框架 +         长期以来,Hibernate和Mybatis一直是大家使用最多的持久层开发框架。针对这两种框架网络上是各种比较,各种讨论优缺点。其实这两个框架(算上前身ibatis)都是2002年左右发布, 迄今已有15载已笨重不堪,一个mybatis.jar包大小6M左右,Hibernate更是巨大,毫无轻巧灵活可言,提供简化SQL操作的同时带来了复杂繁琐的配置和高学习门槛。而Redkale的Source组件非常轻量级,通过十多个interfaceenum和十多个class完成常见的DB操作功能。
+         Source组件在接口设计上参考了JPA接口,为了降低学习成本, 部分注解仍沿用javax.persistence中的类,以多个注解结合一个主操作类 DataSource 的方式提供API。虽没有IDE的插件支持,但Redkale也提供一个Demo代码 AutoClassCreator 能很方便的将数据库表生成Entity类。 +

-         Creator是一个接口, 只有一个public T create(Object... params)方法,可变参数既适合空参数的Constructor也适合含参数的Constructor。得利于Java 8的新语法特性可以在接口上加上静态方法,Creator对象可以通过Creator.create(Class clazz)方法创建。构建原理是通过Constructor的参数来动态创建的。 +         

Constructor<T> constructor0 = null;
 for (Constructor c : clazz.getConstructors()) {  //优先找public 的构造函数