当前位置:  技术问答>java相关

请教bean中填写方法问题,高手帮忙啊!!!!!

    来源: 互联网  发布时间:2015-06-15

    本文导语:  我是java初学者,想在javabean中写几个方法,例如删,增,改,查询,但在写在bean的过程中,总是遇到很多麻烦,请大家指教!!!谢谢了,程序如下,现在的增加还有很多毛病,请大家帮助我一下!!!! ...

我是java初学者,想在javabean中写几个方法,例如删,增,改,查询,但在写在bean的过程中,总是遇到很多麻烦,请大家指教!!!谢谢了,程序如下,现在的增加还有很多毛病,请大家帮助我一下!!!!

|
说来你是写的是实体Bean,
这样吧,我给你一个例子,对你有帮助:
//CustomerBean.java


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

public class CustomerBean implements EntityBean {

   private String customerId;
   private String salesRepId;
   private String name;
   private Connection con;
   private String dbName = "java:comp/env/jdbc/SalesDB";
   private EntityContext context;


   public String getSalesRepId() {

      return salesRepId;
   }
    
   public String getName() {

      System.out.println("entering getName()");
      return name;
   }

   public void setSalesRepId(String salesRepId) {

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

      this.name = name;
   }

   public String ejbCreate(String customerId, String salesRepId,
       String name) throws CreateException {
   
       System.out.println("in ejbCreate");
       try {
          insertCustomer(customerId, salesRepId, name);
       } catch (Exception ex) {
           throw new EJBException("ejbCreate: " + 
              ex.getMessage());
       }

       this.customerId = customerId;
       this.salesRepId = salesRepId;
       this.name = name;

       System.out.println("about to leave ejbCreate");
       return customerId;
   }
     
   public String ejbFindByPrimaryKey(String primaryKey) 
      throws FinderException {

      boolean result;

      try {
         result = selectByPrimaryKey(primaryKey);
       } catch (Exception ex) {
           throw new EJBException("ejbFindByPrimaryKey: " + 
              ex.getMessage());
       }

      if (result) {
         return primaryKey;
      }
      else {
         throw new ObjectNotFoundException
            ("Row for id " + primaryKey + " not found.");
      }
   }

   public Collection ejbFindBySalesRep(String salesRepId)
      throws FinderException {

      Collection result;

      try {
         result = selectBySalesRep(salesRepId);
       } catch (Exception ex) {
           throw new EJBException("ejbFindBySalesRep: " + 
              ex.getMessage());
       }
       return result;
   }

   public void ejbRemove() {

      try {
         deleteCustomer(customerId);
       } catch (Exception ex) {
           throw new EJBException("ejbRemove: " + 
              ex.getMessage());
       }
   } 

   public void setEntityContext(EntityContext context) {

      this.context = context;
      try {
         makeConnection();
      } catch (Exception ex) {
          throw new EJBException("Unable to connect to database. " +
             ex.getMessage());
      }
   }

   public void unsetEntityContext() {

      try {
         con.close();
      } catch (SQLException ex) {
          throw new EJBException("unsetEntityContext: " + ex.getMessage());
      }
   }

   public void ejbActivate() {

      customerId = (String)context.getPrimaryKey();
   }

   public void ejbPassivate() {

      customerId = null;
   }
   
   public void ejbLoad() {

      System.out.println("in ejbLoad");
      try {
         loadCustomer();
       } catch (Exception ex) {
           throw new EJBException("ejbLoad: " +
              ex.getMessage());
       }
      System.out.println("leaving ejbLoad");
   }

   public void ejbStore() {

      System.out.println("in ejbStore");
      try {
         storeCustomer();
       } catch (Exception ex) {
           throw new EJBException("ejbStore: " +
              ex.getMessage());
       }
      System.out.println("leaving ejbStore");
   }

   public void ejbPostCreate(String customerId, String salesRepId,
        String name) { }

/*********************** Database Routines *************************/

   private void makeConnection() throws NamingException, SQLException {

      InitialContext ic = new InitialContext();
      DataSource ds = (DataSource) ic.lookup(dbName);
      con =  ds.getConnection();
   }

   private void insertCustomer (String customerId, String salesRepId,
       String name) throws SQLException {

          String insertStatement =
                "insert into customer values ( ? , ? , ? )";
          PreparedStatement prepStmt = 
                con.prepareStatement(insertStatement);

          prepStmt.setString(1, customerId);
          prepStmt.setString(2, salesRepId);
          prepStmt.setString(3, name);

          prepStmt.executeUpdate();
          prepStmt.close();
   }

   private boolean selectByPrimaryKey(String primaryKey) 
      throws SQLException {

      String selectStatement =
            "select customerid " +
            "from customer where customerid = ? ";
      PreparedStatement prepStmt =
            con.prepareStatement(selectStatement);
      prepStmt.setString(1, primaryKey);

      ResultSet rs = prepStmt.executeQuery();
      boolean result = rs.next();
      prepStmt.close();
      return result;
   }

   private Collection selectBySalesRep(String salesRepId) 
      throws SQLException {

      String selectStatement =
            "select customerid " +
            "from customer where salesrepid = ? ";
      PreparedStatement prepStmt = 
            con.prepareStatement(selectStatement);

      prepStmt.setString(1, salesRepId);
      ResultSet rs = prepStmt.executeQuery();
      ArrayList a = new ArrayList();

      while (rs.next()) {
         String id = rs.getString(1);
         a.add(id);
      }

      prepStmt.close();
      return a;
   }

   private void deleteCustomer(String customerId) throws SQLException {

      String deleteStatement =
            "delete from customer  " +
            "where customerid = ?";
      PreparedStatement prepStmt =
            con.prepareStatement(deleteStatement);

      prepStmt.setString(1, customerId);
      prepStmt.executeUpdate();
      prepStmt.close();
   }

   private void loadCustomer() throws SQLException {

      String selectStatement =
            "select customerid, salesRepid, name " +
            "from customer where customerid = ? ";
      PreparedStatement prepStmt = 
            con.prepareStatement(selectStatement);

      prepStmt.setString(1, customerId);

      ResultSet rs = prepStmt.executeQuery();

      if (rs.next()) {
         customerId = rs.getString(1);
         salesRepId = rs.getString(2);
         name = rs.getString(3);
         prepStmt.close();
      }
      else {
         prepStmt.close();
         throw new NoSuchEntityException("Row for customerId " + customerId +
            " not found in database.");
      }
   }

   private void storeCustomer() throws SQLException {

      System.out.println("entering storeCustomer");
      String updateStatement =
            "update customer " +
            "set salesRepid = ? , name = ? " +
            "where customerid = ?";
      PreparedStatement prepStmt = 
            con.prepareStatement(updateStatement);

      prepStmt.setString(1, salesRepId);
      prepStmt.setString(2, name);
      prepStmt.setString(3, customerId);
      int rowCount = prepStmt.executeUpdate();
      prepStmt.close();

      if (rowCount == 0) {
         throw new EJBException("Storing row for customerId " + 
            customerId + " failed.");
      }
      System.out.println("leaving storeCustomer");
   }

} // CustomerBean 

    
 
 

您可能感兴趣的文章:

  • 大家帮忙,我想用LINUX作为ADSL上网的服务器,请教各位大侠如何配置?
  • 请教如何安装unix系统,不胜感激,快来帮忙
  • 请教个小问题,在线等.....望大家帮忙
  • <请教如何把IP地址转为主机名,焦急等待中...请高手帮忙>
  • 烦恼呀!!!!!!!帮忙!!!!!!(高分请教)
  • 请教一个关于shell的问题,请帮忙.
  • grep 问题请教 ,大家帮忙看看
  • 请大家帮帮忙吧!我是新手请教个问题
  • 我有问题请教,请大家帮忙。
  • 请教熟悉JavaMail的大虾请帮帮忙,多谢了!
  • 菜鸟请教:请帮帮忙!
  • 请教UNIX下的正则表达式的问题,请高手帮忙
  • 请教:软件工程论文怎么写?请各位帮忙找点材料?
  • 请教高手!利用ARM开发板发视频,帮忙里一下思路。。
  • 请教一个文本写入的问题。请大家帮帮忙。。。。
  • 新手请教啦~~能不能帮忙推荐几本书
  • 请教一个shell的问题,请各位大虾帮忙,在线等!!
  • 入门,请教线程编程的问题,请各路高手帮帮忙
  • linuxC中的fork问题,请教大侠帮忙解答
  • 请教一些JAVA的基本问题,初学JAVA有些迷糊,帮帮忙!总迷糊实在受不了了!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • IT科技资讯 iis7站长之家
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题
  • 请教linux 下的adsl拨号问题.
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教一个opengl的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3