亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? applicantbean.java

?? 21天學通J2EE的例子4
?? JAVA
字號:
package data;

import java.rmi.*;
import java.sql.*;
import java.util.*;
import javax.ejb.*;
import javax.naming.*;
import javax.sql.*;

public class ApplicantBean implements EntityBean
{
    private DataSource dataSource;
    private SkillLocalHome skillHome;
    private LocationLocalHome locationHome;

    private String login;
    private String name;
    private String email;
    private String summary;
    private LocationLocal location;

    // vector attribute; List of SkillLocal ref's.
    private List skills;

    public String getLogin () {
        return login;
    }

    public String getName () {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail () {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getSummary () {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public LocationLocal getLocation () {
        return location;
    }

    public void setLocation(LocationLocal location) {
        this.location = location;
    }

    /** returns (copy of) the list of skills. */
    public Collection getSkills () {
        return new ArrayList(this.skills);
    }

    public void setSkills(Collection skills) {

        // just validate that the collection holds references to SkillLocal's
        for(Iterator iter = getSkills().iterator(); iter.hasNext(); ) {
            SkillLocal skill = (SkillLocal)iter.next();
        }

        // replace the list of skills with that defined.
        this.skills = new ArrayList(skills);
    }

    // EJB methods start here

    public void ejbPostCreate (String login, String name, String email) {}

    public String ejbCreate (String login, String name, String email) throws CreateException {

        try {
            ejbFindByPrimaryKey(login);
            throw new CreateException("Duplicate applicant name: "+login);
        }
        catch (FinderException ex) {}
        
        Connection con = null;
        PreparedStatement stmt = null;
        try {
            con = dataSource.getConnection();
            stmt = con.prepareStatement(
            "INSERT INTO Applicant (login,name,email) VALUES (?,?,?)");

            stmt.setString(1, login);
            stmt.setString(2, name);
            stmt.setString(3, email);
            stmt.executeUpdate();
        }
        catch (SQLException e) {
            error("Error creating applicant "+login,e);
        }
        finally {
            closeConnection(con, stmt, null, null);
        }
        this.login = login;
        this.name = name;
        this.email = email;
        this.summary = null;
        this.location = null;

        this.skills = new ArrayList();

        return login;
    }

    public String ejbFindByPrimaryKey(String login) throws FinderException {
        Connection con = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        try {
            con = dataSource.getConnection();
            stmt = con.prepareStatement(
            "SELECT login FROM Applicant WHERE login = ?");

            stmt.setString(1, login);
            rs = stmt.executeQuery();

            if (!rs.next()) {
                throw new FinderException("Unknown applicant: "+login);
            }
            return login;
        }
        catch (SQLException e) {
            error("Error in findByPrimaryKey for "+login,e);
        }
        finally {
            closeConnection(con, stmt, null, rs);
        }
        return null;
    }

    public Collection ejbFindAll() throws FinderException {
        Connection con = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        try {
            con = dataSource.getConnection();
            stmt = con.prepareStatement(
            "SELECT login FROM Applicant ORDER By login");

            rs = stmt.executeQuery();

            Collection col = new ArrayList();
            while (rs.next()) {
                col.add(rs.getString(1));
            }
            return col;
        }
        catch (SQLException e) {
            error("Error in findAll",e);
        }
        finally {
            closeConnection(con, stmt, null, rs);
        }
        return null;
    }

    public Collection ejbFindByLocation(String location) throws FinderException {
        Connection con = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        try {
            con = dataSource.getConnection();
            stmt = con.prepareStatement(
            "SELECT login FROM Applicant WHERE location = ? ORDER BY login");

            stmt.setString(1, location);
            rs = stmt.executeQuery();

            Collection col = new ArrayList();
            while (rs.next()) {
                col.add(rs.getString(1));
            }
            return col;
        }
        catch (SQLException e) {
            error("Error in findByLocation: "+location,e);
        }
        finally {
            closeConnection(con, stmt, null, rs);
        }
        return null;
    }

    public void ejbLoad(){
        String login = (String)ctx.getPrimaryKey();
        Connection con = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        try {
            con = dataSource.getConnection();
            stmt = con.prepareStatement(
            "SELECT name,email,summary,location FROM Applicant WHERE login = ?");

            stmt.setString(1, login);
            rs = stmt.executeQuery();

            if (!rs.next()) {
                error("No data found in ejbLoad for "+login,null);
            }
            this.login = login;
            this.name = rs.getString(1);
            this.email = rs.getString(2);
            this.summary = rs.getString(3);
            String locationName = rs.getString(4);
            this.location = (locationName!=null)?locationHome.findByPrimaryKey(locationName):null;

            // load skills
            stmt = con.prepareStatement(
            "SELECT applicant, skill FROM ApplicantSkill WHERE applicant = ? ORDER BY skill");

            stmt.setString(1, login);
            rs = stmt.executeQuery();

            List skillNameList = new ArrayList();
            while (rs.next()) {
                skillNameList.add(rs.getString(2));
            }
            this.skills = skillHome.lookup(skillNameList);

        }
        catch (SQLException e) {
            error("Error in ejbLoad for "+login,e);
        }
        catch (FinderException e) {
            error("Error in ejbLoad (invalid location) for "+login,e);
        }
        finally {
            closeConnection(con, stmt, null, rs);
        }
    }

    public void ejbStore(){
        Connection con = null;
        PreparedStatement stmt = null;
        try {
            con = dataSource.getConnection();
            stmt = con.prepareStatement(
            "UPDATE Applicant SET name = ?, email = ?, summary = ?, location = ? WHERE login = ?");

            stmt.setString(1, name);
            stmt.setString(2, email);
            stmt.setString(3, summary);
            if (location != null) {
                stmt.setString(4, location.getName());
            } else {
                stmt.setNull(4, java.sql.Types.VARCHAR);
            }
            stmt.setString(5, login);
            stmt.executeUpdate();

            // delete all skills
            stmt = con.prepareStatement(
            "DELETE FROM ApplicantSkill WHERE applicant = ?");

            stmt.setString(1, login);
            stmt.executeUpdate();

            // now insert skills back in again
            for (Iterator iter = getSkills().iterator(); iter.hasNext(); ) {
                SkillLocal skill = (SkillLocal)iter.next();
    
                stmt = con.prepareStatement(
                "INSERT INTO ApplicantSkill (applicant,skill) VALUES (?,?)");
    
                stmt.setString(1, login);
                stmt.setString(2, skill.getName());
                stmt.executeUpdate();
            }
        }
        catch (SQLException e) {
            error("Error in ejbStore for "+login,e);
        }
        finally {
            closeConnection(con, stmt, null, null);
        }

    }

    public void ejbPassivate(){
        login = null;
        name = null;
        email = null;
        summary = null;
        location = null;
    }

    public void ejbActivate(){
    }

    public void ejbRemove(){
        String login = (String)ctx.getPrimaryKey();
    
        Connection con = null;
        PreparedStatement stmt1 = null;
        PreparedStatement stmt2 = null;
        try {
            con = dataSource.getConnection();

            stmt1 = con.prepareStatement(
            "DELETE FROM ApplicantSkill WHERE applicant = ?");
            stmt2 = con.prepareStatement(
            "DELETE FROM Applicant WHERE login = ?");

            stmt1.setString(1, login);
            stmt2.setString(1, login);

            stmt1.executeUpdate();
            stmt2.executeUpdate();
        }
        catch (SQLException e) {
            error("Error removing applicant "+login,e);
        }
        finally {
            closeConnection(con, stmt1, stmt2, null);
        }
        login = null;
        name = null;
        email = null;
        summary = null;
        location = null;
    }

    private EntityContext ctx;

    public void setEntityContext(EntityContext ctx) {
        this.ctx = ctx;
        InitialContext ic = null;
        try {
            ic = new InitialContext();
            dataSource = (DataSource)ic.lookup("java:comp/env/jdbc/Agency");
            skillHome = (SkillLocalHome)ic.lookup("java:comp/env/ejb/SkillLocal");
            locationHome = (LocationLocalHome)ic.lookup("java:comp/env/ejb/LocationLocal");
        }
        catch (NamingException ex) {
            error("Error looking up depended EJB or resource",ex);
            return;
        }
    }

    public void unsetEntityContext() {
        this.ctx = null;
        dataSource = null;
        skillHome = null;
        locationHome = null;
    }

    private void closeConnection (Connection con, PreparedStatement stmt1, PreparedStatement stmt2, ResultSet rslt) {
        if (rslt != null) {
            try {
                rslt.close();
            }
            catch (SQLException e) {}
        }
        if (stmt1 != null) {
            try {
                stmt1.close();
            }
            catch (SQLException e) {}
        }
        if (stmt2 != null) {
            try {
                stmt2.close();
            }
            catch (SQLException e) {}
        }
        if (con != null) {
            try {
                con.close();
            }
            catch (SQLException e) {}
        }
    }

    private void error (String msg, Exception ex) {
        String s = "ApplicantBean: "+msg + "\n" + ex;
        System.out.println(s);
        throw new EJBException(s,ex);
    }
    
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜亚洲另类欧美| 美女免费视频一区二区| 久久综合九色综合97婷婷女人| 欧美中文字幕久久| av在线不卡电影| 成人av午夜电影| 99精品视频中文字幕| 一本色道久久加勒比精品 | 日本网站在线观看一区二区三区 | 日本韩国视频一区二区| 色综合天天在线| 欧美中文字幕一区二区三区| 在线一区二区观看| 欧美日韩国产精选| 欧美成人性战久久| 国产精品素人一区二区| 成人欧美一区二区三区黑人麻豆 | 另类小说欧美激情| 国产精品原创巨作av| 国产成人亚洲精品青草天美| 99久久久无码国产精品| 91久久久免费一区二区| 欧美高清视频不卡网| 337p日本欧洲亚洲大胆色噜噜| 久久蜜桃av一区二区天堂| 中文一区在线播放| 一级特黄大欧美久久久| 免费高清在线一区| 成人av网站免费观看| 精品视频在线看| 国产欧美1区2区3区| 亚洲激情网站免费观看| 蜜臀国产一区二区三区在线播放| 国产精品夜夜爽| 欧美午夜一区二区三区 | 风流少妇一区二区| 欧美亚洲国产一卡| 久久久综合激的五月天| 亚洲在线中文字幕| 国产精品 欧美精品| 在线观看免费视频综合| 久久久久久一级片| 亚洲bt欧美bt精品| av在线不卡免费看| 精品粉嫩超白一线天av| 亚洲综合色丁香婷婷六月图片| 国产精品996| 日韩一区二区精品葵司在线 | 婷婷综合在线观看| 91在线观看下载| 精品国产一二三区| 亚洲成人综合网站| 97久久精品人人澡人人爽| 日韩欧美国产一二三区| 亚洲激情欧美激情| 成人动漫一区二区| 欧美精品一区二区三区高清aⅴ| 亚洲一区二区三区精品在线| 成人午夜视频在线观看| 久久久91精品国产一区二区精品| 秋霞电影一区二区| 欧美色图片你懂的| 亚洲日本在线看| 成人av免费在线| 日本一区二区成人| 成人av电影在线播放| 亚洲国产精品v| 国产成人av电影在线观看| 久久综合九色欧美综合狠狠| 日本伊人精品一区二区三区观看方式| 日本韩国欧美一区| 亚洲精品v日韩精品| 日本韩国欧美三级| 亚洲线精品一区二区三区八戒| 99精品欧美一区二区蜜桃免费| 国产精品理论在线观看| 成人午夜电影久久影院| 欧美国产精品专区| 粉嫩嫩av羞羞动漫久久久| 国产区在线观看成人精品| 成人精品免费看| 亚洲少妇30p| 日本久久一区二区| 亚洲国产sm捆绑调教视频| 欧美自拍丝袜亚洲| 三级久久三级久久久| 欧美一区日韩一区| 韩国三级中文字幕hd久久精品| 久久久一区二区| 成a人片国产精品| 亚洲综合一区二区| 在线成人av网站| 国产原创一区二区三区| 中文字幕国产一区| 欧美亚洲高清一区二区三区不卡| 亚洲18女电影在线观看| 欧美一级日韩免费不卡| 国产精品一区二区三区乱码| 中文字幕日本不卡| 欧美色网一区二区| 狠狠色狠狠色综合系列| 国产精品视频第一区| 日本道在线观看一区二区| 日本午夜精品一区二区三区电影| 国产亚洲欧美日韩在线一区| kk眼镜猥琐国模调教系列一区二区| 亚洲永久免费视频| 精品国产制服丝袜高跟| 9色porny自拍视频一区二区| 亚洲成av人片一区二区| 久久久久久日产精品| 在线观看欧美黄色| 国产精品一二三在| 亚洲超碰精品一区二区| 国产精品久久久久毛片软件| 在线91免费看| 91蜜桃网址入口| 精品一区二区三区香蕉蜜桃| 亚洲乱码国产乱码精品精小说| 欧美成人一区二区三区片免费 | 欧美四级电影网| 国产成人aaa| 日本午夜一本久久久综合| 日韩码欧中文字| 久久久噜噜噜久久中文字幕色伊伊| 在线亚洲一区观看| 国产999精品久久久久久绿帽| 天堂一区二区在线免费观看| 亚洲日本va午夜在线电影| 欧美成人性战久久| 91精品午夜视频| 色婷婷亚洲综合| 成人h动漫精品一区二区| 精品一区二区三区日韩| 午夜欧美2019年伦理| 亚洲乱码国产乱码精品精98午夜 | 日本va欧美va精品| 一区二区三区欧美亚洲| 国产精品电影一区二区| 久久久久久久综合日本| 精品国产乱码91久久久久久网站| 欧美日韩国产123区| 99久久久无码国产精品| 成人精品视频一区二区三区| 国产精品一区二区久激情瑜伽| 美女网站色91| 麻豆一区二区三| 蜜桃免费网站一区二区三区| 美女脱光内衣内裤视频久久网站| 日韩va欧美va亚洲va久久| 亚洲自拍偷拍图区| 亚洲一区二区精品3399| 亚洲在线观看免费视频| 亚洲超丰满肉感bbw| 天天av天天翘天天综合网| 香蕉av福利精品导航| 一区二区三区波多野结衣在线观看| 亚洲男人的天堂在线观看| 亚洲色图视频网站| 一区二区三区四区亚洲| 亚洲一区二区三区四区的| 亚洲国产一区二区a毛片| 日韩在线观看一区二区| 麻豆精品国产91久久久久久| 另类小说视频一区二区| 国产精品一区二区视频| 成人国产电影网| 在线影院国内精品| 日韩一区二区精品葵司在线| 久久色在线视频| 国产精品精品国产色婷婷| 一区二区久久久久| 免费在线看一区| 粉嫩绯色av一区二区在线观看| 不卡av在线免费观看| 欧美主播一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲 | 日韩一区二区三区高清免费看看| 久久蜜桃一区二区| 一区二区欧美国产| 久久99国产精品尤物| 波多野结衣精品在线| 欧美日韩日日骚| 亚洲精品一区在线观看| 亚洲色图视频网| 精品制服美女久久| 色综合久久久久综合| 日韩一区二区三区高清免费看看 | 亚洲成人黄色小说| 国内精品不卡在线| 一本在线高清不卡dvd| 欧美电视剧在线看免费| 亚洲欧美日韩一区二区三区在线观看| 午夜精彩视频在线观看不卡| 国产高清久久久| 欧美二区三区的天堂| 亚洲图片你懂的| 韩国三级在线一区| 欧美视频在线观看一区二区| 国产清纯在线一区二区www|