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

大家好。俺的问题比较多点...
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);

..............

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页面上),请问有什么好得方法吗?

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

建议查阅以前帖子,加深EJB的学习。你采取的session bean +DAO+JDBC

同意楼上
^_^

banq请推荐几个好贴子吧。