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

📄 oracletestdao.java

📁 基于STRUTS的网络调查应用
💻 JAVA
字号:
/*
 * Created on 30-ene-2005 19:57:35
 *
 */
package com.martincuervo.javatest.business.dao.oracle;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import com.martincuervo.javatest.business.dao.DAOHelper;
import com.martincuervo.javatest.business.dao.IResultSetWrapper;
import com.martincuervo.javatest.business.dao.ITestDAO;
import com.martincuervo.javatest.business.vo.CategoryVO;
import com.martincuervo.javatest.business.vo.RangeVO;
import com.martincuervo.javatest.business.vo.TestVO;

/**
 * @author Jorge Martin Cuervo <jorge@martincuervo.com>
 *
 */
public class OracleTestDAO implements ITestDAO {

	private Connection connection;
	private DAOHelper helper;
	
	
	/**
	 * 
	 */
	private static final IResultSetWrapper RS_WRAPPER_TEST = new IResultSetWrapper() {
		public Object transform (ResultSet rs) throws SQLException {
			
			return new TestVO(
					rs.getInt("ID"),
					rs.getString("TEXT"),
					rs.getInt("MAX_QUESTIONS"),
					null);
		}
	
	};	
	
	private static final IResultSetWrapper RS_WRAPPER_CATEGORY = new IResultSetWrapper() {
		public Object transform (ResultSet rs) throws SQLException {
			
			return new Object[] { 
					new CategoryVO(rs.getInt("ID_CATEGORY")),
					new RangeVO(rs.getInt("MIN_QUESTIONS"), rs.getInt("MAX_QUESTIONS"))
					
			};
		}
	
	};
	
	/**
	 * 
	 * @param connection
	 */
	public OracleTestDAO(Connection connection) {
		super();
		this.connection = connection;
		helper = new DAOHelper(this.getClass().getName(), connection);
	}	
	
	/**
	 * Obtiene todos los test y sus respectivas categorias con maximos y minimos
	 */
	public List getTests() {

		boolean disconnect = false;
		List tests = helper.executeSelect("select.all", null, RS_WRAPPER_TEST, false);
		for (Iterator i = tests.iterator(); i.hasNext();) {
			TestVO test = (TestVO) i.next();
			
			if (!i.hasNext()) {
				disconnect = true;
			}
			
			List list = helper.executeSelect("select.test.categories", 
				new Object[] { new Integer(test.getId()) }, RS_WRAPPER_CATEGORY, disconnect);
			
			Map categories = new HashMap();
			for (Iterator iter = list.iterator(); iter.hasNext();) {
				Object[] element = (Object[]) iter.next();
				
				categories.put(element[0], element[1]);
			}
			test.setCategories(categories);
		}
		
		return tests;
	}

	/* (non-Javadoc)
	 * @see com.martincuervo.javatest.business.dao.ITestDAO#getTest(com.martincuervo.javatest.business.vo.TestVO)
	 */
	public TestVO getTest(TestVO test) {
		// TODO Auto-generated method stub
		return null;
	}

	/* (non-Javadoc)
	 * @see com.martincuervo.javatest.business.dao.ITestDAO#addTest(com.martincuervo.javatest.business.vo.TestVO)
	 */
	public void addTest(TestVO test) {
		// TODO Auto-generated method stub

	}

	/* (non-Javadoc)
	 * @see com.martincuervo.javatest.business.dao.ITestDAO#modTest(com.martincuervo.javatest.business.vo.TestVO)
	 */
	public void modTest(TestVO test) {
		// TODO Auto-generated method stub

	}

	/* (non-Javadoc)
	 * @see com.martincuervo.javatest.business.dao.ITestDAO#delTest(com.martincuervo.javatest.business.vo.TestVO)
	 */
	public void delTest(TestVO test) {
		// TODO Auto-generated method stub

	}

}

⌨️ 快捷键说明

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