⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex8_31.txt

📁 j2ee core design patterns
💻 TXT
字号:
Example 8.31 	QueriesImpl Class
// QueryImpl.java

package com.corej2eepatterns.business.impl;

import com.corej2eepatterns.business.hr.Department;
import com.corej2eepatterns.business.hr.Employee;
import com.corej2eepatterns.business.hr.Project;
import com.corej2eepatterns.business.hr.Queries;

import javax.jdo.Query;
import javax.jdo.PersistenceManager;
import java.util.Collection;
import java.util.Iterator;

/**
 * @author  Craig Russell
 */
public class QueriesImpl implements Queries {
	private FactoryImpl factory;

	/** Creates a new instance of QueryImpl */
	public QueriesImpl(FactoryImpl factory) {
		this.factory = factory;
	}

	public Department getDepartment(String name) {
		PersistenceManager pm =
				factory.getPersistenceManager();
		Query q = pm.newQuery(
				DepartmentImpl.class, "this.name == name");
		q.declareParameters("String name");
		Collection departments = (Collection) q.execute(name);
		Iterator iterator = departments.iterator();
		return (iterator.hasNext()) ?
				(Department) iterator.next() : null;
	}

	public Employee getEmployee(long id) {
		PersistenceManager pm =
				factory.getPersistenceManager();
		Query q = pm.newQuery(
				EmployeeImpl.class, "this.id == id");
		q.declareParameters("long id");
		Collection employees = 
				(Collection) q.execute(new Long(id));
		Iterator iterator = employees.iterator();
		return (iterator.hasNext()) ?
				(Employee) iterator.next() : null;
	}

	public Project getProject(String name) {
		PersistenceManager pm =
				factory.getPersistenceManager();
		Query q = pm.newQuery(
				ProjectImpl.class, "this.name == name");
		q.declareParameters("String name");
		Collection projects = (Collection) q.execute(name);
		Iterator iterator = projects.iterator();
		return (iterator.hasNext()) ?
				(Project) iterator.next() : null;
	}
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -