javabean访问EJB的方法:
1.定位本地接口:为定位特定的本地对象,客户需要使用JNDI
①Context ic = new InitialContext();
InitialContext类作为EJB客户与JNDI之间的接口来创建JNDI命令上下文
②java.lang.Object objref =
③accountHome = (AcHome) PortableRemoteObject.narrow(objref, AcHome.class);
括号中的参数是lookup()方法返回的对象和本地接口的.class文件名称;
PortableRemoteObject.narrow()方法将lookup()方法返回的对象转换为本地接口类型
2.创建企业bean接口:
①调用本地接口的create()方法来创建企业bean的实例
account a= home.create(id, dateTran, vc, check, amount);
②调用本地接口的findByPrimaryKey()方法来创建企业bean的实例
account a = home.findByPrimaryKey(id);
注意:两种方法都是为了返回远程接口对象;第一种的远程对象主要是用来插入数据;第二种的远程对象主要是用来查找、删除、更新数据
3.调用业务方法
通过远程接口的对象调用远程接口声明的get***()方法,然后通过这些方法给javabean中声明的set***()赋值
4.声明方法
声明所需的set***()方法和get***()方法
EJB类的作用:
1.连接数据库,共三步
a. 规定逻辑数据库的名称:private String dbName = "java:comp/env/jdbc/ocr1"
b.得到与逻辑名称相关的DataSource值
c.使用下面语句从DataSource得到Connection
2.对数据库进行操作
a.插入数据
①通过ejbCreate(String id)方法中的参数接受从客户端传过来值,并将它转换为本地的值,如:this.id = id;
②调用插入方法
b.查找数据
①通过ejbFindByPrimaryKey(String primaryKey)方法调用selectByPrimaryKey(String Primarykey)方法对传过来的主键进行检测,若存在,则返回此值。
②通过ejbLoad()方法调用loadRow()方法对刚刚返回的值进行查找;然后将查到的值转换为本地的值,再通过远程接口中声明的方法将它们返回
c.删除数据
通过ejbRemove()方法接受客户端传过来的值,然后通过此方法再调用deleteRow()方法对传过来的值所对应的信息进行删除。
d.更新数据
①通过客户端调用远程接口声明的set****()方法接受客户端传过来的值,并将它们转换为本地的值
②通过ejbStore()方法调用storeRow()方法,然后调入本地的值使数据进行更新
e.声明方法
声明所需的set***()方法和get***()方法