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

📄 projectdaoimpl.java

📁 J2EE & Tomcat books published by hope
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* */package com.sun.j2ee.workflow.project.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import javax.sql.DataSource;import javax.naming.InitialContext;import javax.naming.Context;import javax.naming.NamingException;import com.sun.j2ee.workflow.util.JNDINames;import com.sun.j2ee.workflow.project.dao.ProjectDAO;import com.sun.j2ee.workflow.util.DatabaseNames;import com.sun.j2ee.workflow.project.model.ProjectModel;import com.sun.j2ee.workflow.project.exceptions.ProjectDAOSysException;import com.sun.j2ee.workflow.project.exceptions.ProjectDAOAppException;import com.sun.j2ee.workflow.project.exceptions.ProjectDAODBUpdateException;import com.sun.j2ee.workflow.project.exceptions.ProjectDAOFinderException;import com.sun.j2ee.workflow.project.exceptions.ProjectDAODupKeyException;import com.sun.j2ee.workflow.util.Debug;/** This class calls the simple Datasource from Tomcat to get connection * No connection pooling is used. * @author Jian (James) Cai */public class ProjectDAOImpl implements ProjectDAO {        private transient Connection dbConnection = null;    private transient DataSource datasource   = null;        public ProjectDAOImpl() throws ProjectDAOSysException {        try {            InitialContext ic = new InitialContext();            datasource = (DataSource) ic.lookup(JNDINames.WORKFLOW_DATASOURCE);        } catch (NamingException ne) {            throw new ProjectDAOSysException("Naming Exception while looking "            + " up DataSource Connection " +            JNDINames.WORKFLOW_DATASOURCE +            ": \n" + ne.getMessage());        }    }/*    public void query{         // load the PoolMan JDBC Driver        try {            Class.forName("com.codestudio.sql.PoolMan").newInstance();        } catch (Exception ex) {            System.out.println("Could Not Find the PoolMan Driver. " +                               "Is poolman.jar in your CLASSPATH?");            System.exit(0);        }         // establish a Connection to the last database listed in the 'poolman.props' file        Connection con = DriverManager.getConnection("jdbc:poolman");         try {             Statement s = con.createStatement();            ResultSet res = s.executeQuery(sql);            ResultSetMetaData meta = res.getMetaData();             int cols = meta.getColumnCount();            while (res.next()) {                for (int i = 1; i <= cols; i++) {                    Object val = res.getObject(i);                    System.out.print("\t" + meta.getColumnLabel(i) + ": ");                    System.out.print(val == null ? " " : val.toString());                }                System.out.print("\n");            }        } catch (SQLException sqe) {        }        finally {            // this close method merely returns the Connection to the pool            // after implicitly closing related resources (Statements and ResultSets)            con.close();            System.out.println("SAMPLE: Closed Con");        }      } */    public void create(ProjectModel projectinfo) throws ProjectDAOSysException,    ProjectDAODupKeyException,    ProjectDAODBUpdateException,    ProjectDAOAppException {        insertproject(projectinfo);    }        public ProjectModel load(String id) throws ProjectDAOSysException,    ProjectDAOFinderException {        return(selectproject(id));    }        public void store(ProjectModel projectinfo) throws ProjectDAODBUpdateException,    ProjectDAOAppException,    ProjectDAOSysException  {        updateproject(projectinfo);    }        public void remove(String id) throws ProjectDAODBUpdateException,    ProjectDAOSysException {        deleteproject(id);    }        public String findByPrimaryKey(String projectId) throws    ProjectDAOFinderException,    ProjectDAOSysException {        if (projectExists(projectId))            return (projectId);        throw new ProjectDAOFinderException("primary key not found :"+projectId);    }        public Collection findByName(String project_name) throws    ProjectDAOFinderException,    ProjectDAOSysException {        PreparedStatement stmt = null;        ResultSet result = null;        ProjectModel pmodel = null;        boolean returnValue = false;        ArrayList results = new ArrayList();        String queryStr ="SELECT * FROM " +        DatabaseNames.PROJECT_TABLE        + " WHERE proj_name = " + "'" + project_name.trim() + "'";        Debug.println("queryString is: "+ queryStr);                try {            getDBConnection();            stmt = createPreparedStatement(dbConnection, queryStr);            result = stmt.executeQuery();            while(result.next()) {                pmodel = new ProjectModel(result.getString(1),result.getString(2),result.getString(3),result.getString(4),result.getString(5));                results.add(pmodel);            }        } catch(SQLException se) {            throw new ProjectDAOSysException(            "SQLException while selecting"            + " existing project - name -> " + project_name + " :\n" + se);        } finally {            closeResultSet(result);            closeStatement(stmt);            closeConnection();        }        return (results);    }        public Collection findAll() throws    ProjectDAOFinderException,    ProjectDAOSysException {        PreparedStatement stmt = null;        ResultSet result = null;        ProjectModel pmodel = null;        boolean returnValue = false;        ArrayList results = new ArrayList();        String queryStr ="SELECT * FROM " +        DatabaseNames.PROJECT_TABLE;        Debug.println("queryString is: "+ queryStr);        try {            getDBConnection();            stmt = createPreparedStatement(dbConnection, queryStr);            result = stmt.executeQuery();            while(result.next()) {                pmodel = new ProjectModel(result.getString(1),result.getString(2),result.getString(3),result.getString(4),result.getString(5));                results.add(pmodel);            }        } catch(SQLException se) {            throw new ProjectDAOSysException(            "SQLException while selecting"            + " existing all project  -> "  + " :\n" + se);        } finally {            closeResultSet(result);            closeStatement(stmt);            closeConnection();        }        return (results);    }        private boolean projectExists(String projectId) throws ProjectDAOSysException {        PreparedStatement stmt = null;        ResultSet result = null;        boolean returnValue = false;        String queryStr ="SELECT proj_ID FROM " +        DatabaseNames.PROJECT_TABLE        + " WHERE proj_ID = " + "'" + projectId.trim() + "'";        Debug.println("queryString is: "+ queryStr);                try {            getDBConnection();            stmt = createPreparedStatement(dbConnection, queryStr);            result = stmt.executeQuery();            if ( !result.next() ) {                returnValue = false;            } else {                projectId = result.getString(1);                returnValue = true;            }        } catch(SQLException se) {            throw new ProjectDAOSysException(            "SQLException while checking for an"            + " existing project - id -> " + projectId + " :\n" + se);        } finally {            closeResultSet(result);            closeStatement(stmt);            closeConnection();        }        return returnValue;    }        private boolean isValidData(ProjectModel projectinfo) {        if (        (projectinfo.getProj_name() == null) ||        (projectinfo.getGroup() == null) )            return (false);        else            return (true);    }        private void insertproject(ProjectModel projectinfo) throws    ProjectDAOSysException,    ProjectDAODupKeyException,    ProjectDAODBUpdateException,    ProjectDAOAppException {                if (!isValidData(projectinfo))            throw new ProjectDAOAppException("Illegal data values for insert");        String generatedID = generateID();        if (projectExists(generatedID))            throw new ProjectDAODupKeyException("project exists for "+            projectinfo.getProj_ID());                PreparedStatement stmt = null;        String queryStr = "INSERT INTO " + DatabaseNames.PROJECT_TABLE        + "(proj_ID, proj_name, group, lead, desc) "        + "VALUES ("        + "'" + generatedID + "',"        + "'" + projectinfo.getProj_name().trim() + "',"        + "'" + projectinfo.getGroup().trim() + "',"        + "'" + projectinfo.getLead().trim() + "',"

⌨️ 快捷键说明

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