在Beehive PageFlow Tutorial中有过一些关于Beehive Data control的介绍,这里将通过一个例子,具体说明如何运用Beehive build-in的数据控制机制来完成数据库的相关操作。
1. 首先,需要对数据库连接进行配置。
Beehive内置的数据库是derby。如果你希望使用其他数据库,就需要修改一些源码,该文件位于BEEHIVE_HOME/samples/controls-db/src/dbControl/下面。在文件DatabaseControlImpl.jcs中可以重新设置数据库的URL,例如要使用SQL Server 就可以做如下修改:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
也可以按需求修改其他源文件。然后利用Ant工具重新编译并打包成dbControl.jar,放到web应用的相应位置(一般为WEB-INF/lib下面)即可。
2. 定义数据库操作。
我们需要创建一个jcx文件来定义所需的数据库相关操作,下面通过一个例子来说明如何完成该操作。
圆圈代表action,方块代表page
在该例中,我们在首页点击相应链接跳转到displaydata.jsp,在这里将数据库操作的结果展示出来。因此show action是核心,由它进行一系列的数据库操作并将结果输出给下个页面。Beehive使用自己的机制封装了数据库操作的具体实现,因此在show方法中,相关的代码量很少。这个例子中我们需要创建如下文件:
l Project_home/WEB-INF/src/dbcontroller/ MyFirstDBControl.jcx
l Project_home/WEB-INF/src/forms/Employee.java
l Project_home/Controller.jpf
l Project_home/*.jsp
注意:src目录下面可以根据自己的需要建立包结构,与import相对应就可以。
MyFirstDBControl.jcx
package dbcontroller; import java.sql.SQLException; import java.io.Serializable; import java.util.Iterator; import java.util.HashMap; import javax.sql.RowSet;
import org.apache.beehive.controls.api.bean.ControlExtension; import dbControl.DatabaseControl; import dbControl.DatabaseControl.ConnectionDataSource; import dbControl.DatabaseControl.SQL; |