java隨記

          堅持就是勝利!

           

          ejb3 jsf實用實例


          有朋友問到使用ejb3時關于jsf實現多行選擇編輯記錄的問題。其實按照jsf編程模型也只不過按部就班而已,沒有什么好多說的。還是看實例好了。

          一,創建表格,插入兩條記錄備用.

              create table "spring"."dbo"."product"(

                  "productid" int not null,

                 "category" varchar(10) not null,

                 "name" varchar(80) null,

                 "descn" varchar(255) null,

                  constraint "PK__product__05D8E0BE" primary key ("productid")

          )

          insert into product (1,’圖書’,’計算機應用’,計算機工業出版社’)

          insert into product (2,’圖書’,’計算機組成原理’,計算機工業出版社’)

          二,ejb3的實現

          1,             創建一個實體Product 沒什么好多說的,只是多增加了一個boolean屬性 editor,并且加了@Transient注釋用以說明該屬性不是持久化字段,增加該字段的目的也僅僅是為了判斷哪些記錄被選中了,以便處理選中了記錄.

          2,             創建會話bean

                  接口

            package ejb;

          import java.util.List;

           

          public interface ProductDao {

             

          public List getProducts() throws Exception;

             

                     public void saveProducts(List<entity.Product> products) throws Exception;

           

                    package ejb;

          Bean

          import javax.ejb.*;

          import java.util.List;

          import java.util.Iterator;

          import javax.persistence.EntityManager;

          import javax.persistence.PersistenceContext;

          import javax.persistence.Query;

          import entity.Product;

          @Stateful

          @Remote(ProductDao.class)

          public class ProductDaoBean {

           

           

              @PersistenceContext

              protected EntityManager em;

             

             

             

           public List getProducts()throws Exception{

              

                 

                   Query query = em.createQuery("from Product");

                   List list = query.getResultList();

                   em.clear();

                   return list;

             

          }

           

           

           public void saveProducts(List<Product> products){

           for(Iterator<Product> it = products.iterator();it.hasNext();){    

               Product p = it.next();

               em.merge(p);

           }

          }

          }

           

          3,             jsf頁面跟backing bean 前面兩篇blog也說過這方面的類容,沒什么好說的,也就不好了。

          需要說明的是本例服務器采用jboss5.0,數據庫用的MS SQL2000.完整實例下載

          posted on 2007-06-25 09:00 傻 瓜 閱讀(1497) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           

          導航

          統計

          常用鏈接

          留言簿(7)

          我參與的團隊

          隨筆分類

          隨筆檔案

          文章分類

          友情鏈接

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 固镇县| 墨竹工卡县| 延津县| 札达县| 景谷| 会宁县| 永靖县| 赫章县| 四子王旗| 东安县| 马山县| 肃北| 闵行区| 田林县| 尚义县| 屯门区| 平遥县| 建宁县| 新巴尔虎右旗| 二连浩特市| 福安市| 呼和浩特市| 安陆市| 满洲里市| 左权县| 同心县| 莱芜市| 城步| 莒南县| 大关县| 阿尔山市| 峨眉山市| 卢氏县| 瓮安县| 永定县| 建瓯市| 博白县| 大城县| 抚顺县| 瓦房店市| 湛江市|