(ALin 2006-12-27 00:28)
1. 源代码生成,即是实现相关的接口,自己编写相关的方法,在点类似于BMP EJB。
2. 源代码处理。
3. 字节码增强(使用字节码增强工具:byte-code enhancer)。
Ø package.jdo
Ø alin/package.jdo
Ø alin/scut/package.jdo
Ø alin/scut/jdo/package.jdo
Ø alin/scut/jdo/Author.jdo
lib
|
jdo.jar(
或者叫
jdo2-api.jar)
|
JDO2.0 AIPI
|
|
jpox.jar
|
JPOX1.1.4
实现
|
jpox-enhancer.jar
|
JPOX
的字节码增强器
| |
log4j.jar
|
Log4j
| |
bcel.jar
(jboss-4.0.2\server\default\lib
目录下面有
)
|
Byte Code Engineering Library
(BCEL)
,这是
Apache Software
Foundation
的
Jakarta
项目的一部分。
| |
src
|
alin/demo/Author.java
|
|
|
alin/main/
……
.java
|
这个包下面的源文件是示例应用程序
|
|
alin/demo/Author.jdo
|
|
jpox.properties
|
注意数据库
URL
后面部分的作用:
SelectMethod=cursor(
后面会说明
)
| |
log4j.properties
|
| |
bin
|
alin/demo/Author.class
|
|
|
alin/main/
……
.class
|
|
alin/demo/Author.jdo
|
这些文件都是直接从
src
目录下面复制过来的。
| |
jpox.properties
| ||
log4j.properties
|
代码1: Author.java
private int books;
private String name;
public Author(String name, int books) {
this.name = name;
this.books = books;
protected Author() {
public String getName() {
return name;
public void setName(String name) {
this.name = name;
public int getBooks() {
return books;
public void setBooks(int books) {
this.books = books;
<?xml version="1.0" encoding="UTF-8"?>
"-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN"
"http://java.sun.com/dtd/jdo_2_0.dtd">
<package name="alin.demo">
<class name="Author" identity-type="datastore">
<field name="books" persistence-modifier="persistent">
</field>
<field name="name" persistence-modifier="persistent">
<column length="50" jdbc-type="VARCHAR"/>
</field>
log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n