This commit is contained in:
@@ -26,10 +26,12 @@
|
||||
<h3>Redkale 技术详解 04 -- Java DataSource简易的DB操作</h3>
|
||||
|
||||
<p>
|
||||
长期以来,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组件非常轻量级,通过十多个<span style="color: #2041B4;">interface</span>、<span style="color: #2041B4;">enum</span>和十多个<span style="color: #2041B4;">class</span>完成常见的DB操作功能。<br/>
|
||||
Source组件在接口设计上参考了JPA接口,为了降低学习成本, 部分注解仍沿用javax.persistence中的类,以多个注解结合一个主操作类 <a href="http://redkale.org/javadoc/org/redkale/source/DataSource.html" target="_blank">DataSource</a> 的方式提供API。虽没有IDE的插件支持,但Redkale也提供一个Demo代码<a href="https://github.com/redkale/redkale-demo/blob/master/src/org/redkale/demo/base/AutoClassCreator.java" target="_blank"> AutoClassCreator</a> 能很方便的将数据库表生成Entity类。
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Creator是一个接口, 只有一个public T create(Object... params)方法,可变参数既适合空参数的Constructor也适合含参数的Constructor。得利于Java 8的新语法特性可以在接口上加上静态方法,Creator对象可以通过Creator.create(Class clazz)方法创建。构建原理是通过Constructor的参数来动态创建的。
|
||||
|
||||
</p>
|
||||
<div class="highlight"><pre><span class="n">Constructor</span><span class="o"><</span><span class="n">T</span><span class="o">></span> <span class="n">constructor0</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
||||
<span class="k">for</span> <span class="o">(</span><span class="n">Constructor</span> <span class="n">c</span> <span class="o">:</span> <span class="n">clazz</span><span class="o">.</span><span class="na">getConstructors</span><span class="o">())</span> <span class="o">{</span> <span class="c1">//优先找public 的构造函数</span>
|
||||
|
||||
Reference in New Issue
Block a user