当前位置: 网学 > 编程文档 > JAVA > 正文

Java数据对象(JDO)的应用

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
pmf = null;
private PersistenceManager pm = null;
private Transaction transaction = null;

// 需要保持的人的数组
private Person people;
// 现有对象标识符的向量
private Vector id = new Vector(SIZE);

public PersonPersist() {
try {
Properties props = new Properties();

props.setProperty("javax.jdo.PersistenceManagerFactoryClass",
"com.prismt.j2ee.jdo.PersistenceManagerFactoryImpl");
pmf = JDOHelper.getPersistenceManagerFactory(props);
pmf.setConnectionFactory( createConnectionFactory() );
} catch(Exception ex) {
ex.printStackTrace();
System.exit(1);
}
}
连接代理是在名字为createConnectionFactory()的静态方法中创建的,该代理需要JDBC URL、JDBC驱动程序、用户名和口令。
public static Object createConnectionFactory() {
ManagedConnectionFactoryImpl mcfi = new
ManagedConnectionFactoryImpl();
Object connectionFactory = null;

try {
mcfi.setUserName("scott");
mcfi.setPassword("tiger");
mcfi.setConnectionURL(
"jdbc:oracle:thin:@localhost:1521:thedb");

mcfi.setDBDriver("oracle.jdbc.driver.OracleDriver");

connectionFactory = mcfi.createConnectionFactory();
} catch(Exception e) {
e.printStackTrace();
System.exit(1);
}
return connectionFactory;
}


第二步:在数据库中输入三个人的资料

PersistPeople()使用Person.java文件中的构造器创建了3个人的资料。。我们要作的第一件事是通过
getPersistenceManager()获得一个可保持性管理器,然后创建一个执行我们的任务的事务。为了保持这一对象结构图,我们简单地调用makePersistentAll( Object )方法即可。代码底部的for()循环获得每个保持对象的唯一的ID,并保存起来供以后使用。
public void persistPeople() {
// 创建人的资料的数组
people = new Person[SIZE];

// 创建3个人的资料
people[0] = new Person("Gary Segal", "123 Foobar Lane",
"123-123-1234", "gary@segal.com",
"(608) 294-0192", "(608) 029-4059");
people = new Person("Michael Owen",
"222 Bazza Lane, Liverpool, MN",
"111-222-3333", "michael@owen.com",
"(720) 111-2222", "(303) 222-3333");
people = new Person("Roy Keane",
"222 Trafford Ave, Manchester, MN",
"234-235-3830", "roy@keane.com",
"(720) 940-9049", "(303) 309-7599)");

// 保持这3个人的资料
pm = pmf.getPersistenceManager();
transaction = pm.currentTransaction();
pm.makePersistentAll(people);
transaction.commit();

// 获取被保持对象的对象ID
for(int i = 0; i < people.length; i++) {
id.add(pm.getObjectId(people[i]));
}

// 关闭现有的保持性管理器,保证对象是从数据库而不是从保持性管理器的缓存中读取的
pm.close();
}
下面是一些可以针对保持性管理器的其他方法:
使实例成为可保持的:获得一个临时对象,并保持它。
删除可保持实例:从数据存储库中删除信息。
使实例临时化:使实例与可保持性管理器分离,而不删除在数据存储库中的信息。
使实例处于保持状态 删除保持的实例 使实例处于临时状态
makePersistent(Object o) deletePersistent(Object o) makeTransient(Object o)
makePersistentAll(Object os) deletePersistentAll(Object os) makeTransientAll(O
  • 下一篇资讯: Java拷贝文件
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号