ejb里到底该写一些什么代码啊?

04-02-12 Benedict
大家好。俺的问题比较多点...

1:关于数据库的操作。

一些代码

//该方法是用来对数据库执行简单操作的
//DataAccessBean是我自定义的一个类
public boolean updateDBTable(String SQL) throws
       ServiceLocatorException, DataAccessException, SQLException {
     int flag=0;
     try{
       DataAccessBean dab = new DataAccessBean();
       conn = dab.getConnection();
       stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                   ResultSet.CONCUR_READ_ONLY);
       flag = stmt.executeUpdate(SQL);

..............
<p>

2:还有一个是当同时更新数据库中若干条记录(小于10条)时候用的

    ServiceLocatorException, DataAccessException, SQLException {
    int flag=0;
    int i=0;
    int jj=0;
    try{
      DataAccessBean dab = new DataAccessBean();
      conn = dab.getConnection();
      stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                  ResultSet.CONCUR_READ_ONLY);

      // 禁止自动提交
      conn.setAutoCommit(false);
      for (i=0;i<SQL.length && SQL[i]!=null;i++){


         System.out.println("执行for循环ing............") ;
         System.out.println(SQL[i]) ;
         stmt.executeUpdate(SQL[i]);
          System.out.println("预执行") ;


      }
      flag=1;//执行标记,如果flag=1说明已经执行完毕,可以commit
   System.out.println("执行完for循环了") ;

    }
    finally
       {

           for (jj=0;jj<SQL.length ;jj++){
           SQL[jj]=null;
         }
           try
           {
               cleanup(null, null, null, dab);
           }
           catch(Exception e) {
             conn.rollback() ;
           }
       }

 if (flag==1){
      conn.commit() ;
         System.out.println("commit了") ;
      return true;
    }
    else
    {

      return false;
    }


  }

另外,我还写了另外一些执行批处理和存储过程的。

我把这些代码都放在sessionbean里面了,能不能这样做?(DataAccessBean那些都是一些bean文件,不过我看书上说对数据库的操作最好放到helper类里面,到底helper是什么样子的?)

我在写程序的时候在jsp里面判断输入数据的合法性(主要是用正则表达式),然后在javabean里面生成sql语句,最后把这些sql语句作为参数传递给以上这些sessionbean来执行。请问这样做对吗?效率高吗?

第二个问题:

ejb里面该写些什么?大家都在说商业逻辑,到底什么是商业逻辑?

我觉得不都是最后操作数据库嘛,在javabean里面把所有的判断都做了,然后生成要执行的sql语句再提交,不也一样吗?

我们单位一个老员工说应该这样:

jsp页面/servlet

|

sessionBean(处理商业逻辑)

|

数据库操作的helper类(不知道是什么,请赐教)

|

最后是一些entityBean(如果需要的话)

在我们的项目(我们主要是做税务方面的应用的)中根本没有用到entityBean,它到底是干什么的?在什么情况下用?(看书没看明白)

第三个问题:

由于我们做税务方面的业务,它需要一些涉及数据量非常大的查询(比如说一天甚至一个月的购票明细,举个例子,北京24万纳税户一天可以购买价值1000W+的发票(不是面值),每天交易量在2000比,涉及的明细记录要在2W条(一次可能买很多种类的发票),必须得把所查询到得记录都显示在jsp页面上),请问有什么好得方法吗?

先问这么多吧,希望高手不要嫌俺烦

1
banq
2004-02-15 09:45
建议查阅以前帖子,加深EJB的学习。你采取的session bean +DAO+JDBC

gong1
2004-02-15 21:33
同意楼上

^_^

daquan198163
2004-02-15 21:53
banq请推荐几个好贴子吧。

猜你喜欢