WebLogic運用DB的Java控件訪問數據庫(1)

發表于:2007-06-11來源:作者:點擊數: 標簽:
一、方法 WebLogic頁面與數據通信時,一般采用 Java 控件直接訪問數據連接池,數據的直接操作都定義在Java控件中,頁面流做為數據的邏輯處理單元,普通頁面做為顯示層??梢钥闯鯳ebLogic這個方法是典型的三層結構,數據層(Java控件),業務邏輯層(頁面流),顯

一、方法

WebLogic頁面與數據通信時,一般采用Java控件直接訪問數據連接池,數據的直接操作都定義在Java控件中,頁面流做為數據的邏輯處理單元,普通頁面做為顯示層??梢钥闯鯳ebLogic這個方法是典型的三層結構,數據層(Java控件),業務邏輯層(頁面流),顯示層(頁面)。

二、建立連接池,數據源

配置config.xml文件,這里用的是WebLogic自帶的E:\bea\weblogic81\samples\domains\workshop的cgServer。

<JDBCConnectionPool DriverName="oracle.jdbc.driver.OracleDriver"

LoginDelaySeconds="1" MaxCapacity="20" Name="liwei"

PasswordEncrypted="{3DES}WBNJPYUOAvE=" Properties="user=liwei"

Targets="cgServer" URL="jdbc:oracle:thin:@localhost:1521:wincn"/>

<JDBCTxDataSource JNDIName="liwei" Name="liwei" PoolName="liwei" Targets="cgServer"/>

或者 工具->WebLogic Server->數據源查看器->新建數據源 步驟比較簡單,主要輸入對應參數:

DriverName="oracle.jdbc.driver.OracleDriver"

URL="jdbc:oracle:thin:@localhost:1521:wincn"

然后用戶名密碼即可。



以上內容可參看《Weblogic中JSP連接數據庫》一文。

   

三、相關頁面

Test\TestWeb\recordset\RecordsetController.jpf

Test\TestWeb\recordset\index.jsp

Test\TestWeb\recordset\test.jcx   java控件

四、數據庫

CREATE TABLE TEST(

A                         VARCHAR2(10),

B                         VARCHAR2(10),

C                         VARCHAR2(10),

D                         VARCHAR2(10)

)

五、數據層(JAVA控件)

本次示例使用tblTest自定義靜態類實現返回數據集。(還可以使用netui:gird+RecordSet實現,參見自帶示例)其中update方法與insert方法十分類似,故未提供具體的實現代碼。

數據層并沒有什么復雜之處,只是對邏輯層(頁面流)提供足夠的數據操作接口。tblTest自定義的靜態類是完成數據傳遞必不可少的環節。



Test\TestWeb\recordset\test.jcx 全代碼:

package recordset;

import com.bea.control.*;

import java.sql.SQLException;

/*

* @jc:connection data-source-jndi-name="liwei"

*/

public interface test extends DatabaseControl, com.bea.control.ControlExtension

{

/**

* @jc:sql statement::

*   INSERT INTO TEST (A,B,C,D)

*   VALUES ({_A},{_B},{_C},{_D})

* ::

*/

public int insert( String _A, String _B,String _C,String _D );

/**

* @jc:sql statement::

* UPDATE TEST SET B = {_B} ,C = {_C} ,D = {_D} WHERE A = {_A}

* ::

*/

public int update( String _A, String _B,String _C,String _D );



/**

* @jc:sql statement::

* DELETE TEST WHERE A = {_A}

* ::

*/

public int delete( String _A );   

/**

* @jc:sql statement::

* SELECT * FROM TEST WHERE A = {_A}

* ::

*/

public tblTest select( String _A );



/**

* @jc:sql statement::

* SELECT * FROM TEST

* ::

*/

public tblTest[] selectAll();

public static class tblTest implements java.io.Serializable

{

public String A;

public String B;

public String C;

public String D;

}

}


共2頁: 1 [2] 下一頁

原文轉自:http://www.anti-gravitydesign.com

...
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97