KodoEJB:符合EJB3规范的持久层框架
v百度广告
关于EJB3和JDO2的更多内容请大家查看文章最后参考资源中的相关内容。
在Kodo EJB框架中,对象和关系数据库之间的映射(对象-表,对象属性-字段等)都是使用JDK5.0中的最新特性-注释(Annotation)来提供,不再需要提供额外的配置文件。
下载、安装Kodo
准备工作
为了演示的需要,我们选择MySQL数据库作为持久化的目标数据库,请大家自己到www.mysql.com下载最新的MySQL数据库后安装。
Kodo的最新版本是Kodo 4.0.0 Early Access 4,目前大家可以到http://www.solarmetric.com/去下载试用版本,下载时需要注册,你会得到30天的License。
Kodo EJB实例
下面我们将用一个简单的例子来说明创建Kodo EJB应用的典型步骤,实例中我们将创建名为Book的持久化对象,该对象将被持久化到本地的MySQL数据库中。
建立工程目录
创建持久化类
新创建持久化类Book,为了说明的简单,该类只有两个属性:id和name,其中id是书的编号(编号由MySQL数据库自动生成),name属性表示书的名称。持久化类的全部代码、注释和说明
import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.GenerationType;
import javax.persistence.Inheritance;
import javax.persistence.Table;
/**
*/
(name = "Book")
(name = "BOOKS")
(strategy = InheritanceType.TABLE_PER_CLASS)
/* Id注释表示该字段是标识字段 */
/* GeneratedValue注释定义了该标识字段的产生方式,我们的演示系统中id由MySQL数据库字段自动生成,因此选择GenerationType.IDENTITY */
/* Column注释的name属性定义了该类属性对应的数据字段的名称,为了最大限度保持系统和数据库之前的独立性,建议使用大写字符 */
public int id;
/* Basic注释表示该属性是基本属性 */
/* Column注释的name属性定义了该类属性对应的数据字段的名称,为了最大限度保持系统和数据库之前的独立性,建议使用大写字符 */
public String name = null;
准备数据库
准备配置文件
a)
<?xml version="1.0"?>
<persistence-unit name="">
<!-- Kodo的序列号,请输入您下载或者购买Kodo时得到的License -->
value="093D-BF3F-C10E-0F8F-0F00" /> |||
<!-- 以下是访问数据库时需要提供的信息 -->
value="JDBC:mysql://localhost/kodo" />
value="org.gjt.mm.mysql.Driver" />
<property name="kodo.ConnectionPassword" value="root" />
<!-- 设置Kodo运行过程中的日志级别 -->
value="DefaultLevel=WARN, Runtime=INFO, Tool=DEBUG" />
</persistence-unit>
persistence.xml提供EJB实体管理所需要的信息,比如确定使用哪种持久化管理器和需要被管理的持久化类。
<persistence>
<provider>kodo.persistence.PersistenceProviderImpl</provider>
<class>org.vivianj.kodo.examples.beans.Book</class>
</persistence>
打开一个命令行窗口,进入%KODO_HOME%/bin目录下,执行kodocmd.cmd命令,然后将MySQL的驱动文件使用set classpath=%classpath%;c:/mysql-connector-java-3.1.8-bin.jar这样的方式加入到CLASSPATH中。
加强(Enhancer)持久化类
我们可以使用kodoc C:KodoExamplesorgvivianjkodoxampleseans*.java这样的命令来完成持久化类的加强工作。
KODO中提供了专门的MappingTool工具,能够自动的根据持久化类及他们之间的关系为我们生成创建数据库所需要的SQL语句或者直接创建数据表。
测试一下
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
import org.vivianj.kodo.examples.beans.Book;
public class Test {
public static void main(String args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory(null);
.createEntityManager(PersistenceContextType.EXTENDED);
em.getTransaction().begin();
/* 创建新的持久化对象 */
/* 设置Book对象的name属性 */
/* 持久化对象 */
/* 结束事务 */
em.close();
}
}
执行Test类,执行完后会发现books表中已经增加了一条新的记录。
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>