Flex與java交互之數據庫數據讀取

對於建立一個flex web應用的步驟我就不多說了哈。

    首先要求大家到數據庫建立一個數據庫,在我這例子中數據庫名爲userDb,建立一個表userInfo,裏面設置兩個字段一個爲id,一個爲name.第二,創建以下java代碼在src目錄下

 

User.java   
package  org.rjb.java;   
  
public   class  User  {   
    
private  String name;   
  
    
public  String getName()  {   
        
return  name;   
    }
   
    
public   void  setName(String name) {   
        
this .name = name;   
    }
   
}
   
  
UserDao.java   
package  org.rjb.java;   
  
import  java.sql.Connection;   
import  java.sql.DriverManager;   
import  java.sql.ResultSet;   
import  java.sql.SQLException;   
import  java.sql.Statement;   
import  java.util.ArrayList;   
import  java.util.List;   
  
public   class  UserDao  {   
       
    
public   static  Connection getConnection() {   
        Connection c
= null ;   
        
try {   
            String driver
= " com.mysql.jdbc.Driver " ;   
            String url
= " jdbc:mysql://localhost:3306/userDb " ;   
            String username
= " root " ;   
            String password
= " 1235 " ;   
            Class.forName(driver);   
            c
= DriverManager.getConnection(url,username,password);    
        }
catch (Exception e) {   
            System.out.println(e.getMessage());   
        }
   
        
return  c;   
    }
   
    
public  List getAllUser() throws  SQLException {   
        Connection c
= getConnection();   
        Statement st
= c.createStatement();   
        ResultSet rs
= st.executeQuery( " select * from UserInfo " );   
        ArrayList userList
= new  ArrayList < User > ();   
        
while (rs.next()) {   
            User u
= new  User();   
            u.setName(rs.getString(
" name " ));   
            userList.add(u);   
        }
   
        
return  userList;   
    }
   
  
}

    以上是java端的全部代碼了,下面是flex端的代碼。

    第三,創建以下代碼在flex_src下:

 

User.as   
package  org.rjb.flex   
{   
    [RemoteClass(alias
= " org.rjb.java.User " )]   
    
public   class  User   
    
{   
        
private  var _name:String;   
        
public  function User()   
        
{   
        }
   
        
public  function get name():String {   
            
return   this ._name;   
        }
   
        
public  function set name(name:String): void {   
            
this ._name = name;   
        }
   
    }
   
}
  

User.as
package  org.rjb.flex
{
    [RemoteClass(alias
= " org.rjb.java.User " )]
    
public   class  User
    
{
        
private  var _name:String;
        
public  function User()
        
{
        }

        
public  function get name():String {
            
return   this ._name;
        }

        
public  function set name(name:String): void {
            
this ._name = name;
        }

    }

}

    接下來是mxml代碼,也就是我們真正展示我們數據的界面

 

FlexWithJava .mxml   
<? xml version="1.0" encoding="utf-8" ?>    
< mx:Application  xmlns:mx ="http://www.adobe.com/2006/mxml"  layout ="vertical" >    
    
< mx:RemoteObject  id ="ud"  destination ="UserDao"  result ="onResult(event)"  fault ="onFault()"   />    
    
< mx:DataGrid  dataProvider ="{users}" >    
        
< mx:columns >    
            
< mx:DataGridColumn  dataField ="name"  headerText ="name"   />    
        
</ mx:columns >    
    
</ mx:DataGrid >    
    
< mx:Label  id ="info"   />    
    
< mx:Button  label ="click"  click ="clickFun()"   />    
    
< mx:Script >    
        
<![CDATA[    
            import mx.collections.ArrayCollection;   
            import mx.rpc.events.ResultEvent;   
            [Bindable]   
            public var users:ArrayCollection=new ArrayCollection();   
            public function clickFun():void{   
                ud.getAllUser();   
            }   
            public function onResult(event:ResultEvent):void{   
                users=ArrayCollection(event.result);   
                info.text="get data successfully";   
            }   
            public function onFault():void{   
                info.text="Error";   
            }   
        
]]>    
    
</ mx:Script >    
</ mx:Application >

    第四,配置remoting-config.xml,在裏面加上如下配置文件:

 

< destination  id ="UserDao" >    
     
< properties >    
          
< source > org.rjb.java.UserDao </ source >    
     
</ properties >    
</ destination >

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章