发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

请教各位高手一个问题

2003-02-14 09:45
赞助商链接



在编写bmp时,通常都是另外写一个*helper.java文件来负责操作那些sql语句,可是在bmp中调用的helper中的方法是通过ejb容器来操作的。而每个bmp只允许有一个ejbCreate()、ejbLoad()、ejbPassivate()等方法。当我需要对几数据表插入数据,我写了几个insert方法放在helper中,可是我如何在ejbCreate()中调用?(因为这几个insert语句,我不希望同时调用)

CustomersBean.java中的一段代码:

public String ejbCreate(CustomersRecord data) throws CreateException {

System.out.println("BMPCustomers.ejbCreate executing" + " (data:" + data + ")");

// Use the helper class to perform the INSERT

CustomersJDBCHelper.insert(data);?????????
CustomersJDBCHelper.insert1(data);?????????//是不是两者都必须执行,还可以只执行其中一个

// Save the state while we're here. The container can skip the ejbLoad.
// By definition we are now running in a transactional context, and so
// this is the appropriate thing to do.

name = data.getName();
address = data.getAddress();

// Return the primary key of the new row to the container

return data.getCustID();
}


CustomersJDBCHelper.java中的一段代码:
static void insert(CustomersRecord rec) throws DuplicateKeyException, CreateException {

Connection conn;
int count;
StringWriter swBuf = new StringWriter();
PrintWriter pwBuf = new PrintWriter(swBuf);

pwBuf.println("INSERT into CUSTOMERS ");
pwBuf.println(" (CUSTID, NAME, ADDRESS) ");

pwBuf.println("VALUES (");
pwBuf.println("'" + rec.getCustID() + "', ");
pwBuf.println("'" + rec.getName() + "', ");
pwBuf.println("'" + rec.getAddress() + "')");

conn = getConnection();

try {
count = conn.createStatement().executeUpdate(swBuf.toString());
conn.close();

} catch (SQLException sqle) {
try {
conn.close();
} catch (SQLException sqle1) {
}
throw new EJBException("SQLException while creating record: " + sqle.getMessage());
}

if (count != 1)
throw new EJBException("Record not created, no error reported from database");

}
如果再写一个insert1方法也是负责往数据库中插入数据

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com