您的位置:首页 > 编程语言 > Java开发

Flex与java交互之数据库数据读取

2010-07-09 22:43 375 查看
嘿,先向大家宣传下我站啊,http://www.lovestblog.cn/,这是我的个人博客,希望大家常来我博客坐坐呢,相信大家也会有所收益的,不过我也不会放弃javaeye的,我也会一直在这里写东西的。 (转载的请不要删除该段,谢谢合作)
前几天有网友要我写一篇关于flex与数据库交互的例子,一直由于时间紧没能写,今天晚上特地花点时间写了个例子,希望能给大家一点帮助,其实flex与数据库交互很简单的,我主要是通过java与数据库交互读取数据,然后flex和java进行交互,把java读取的数据在flex前端显示出来,好了,说了一堆废话,下面代码说明问题。
对于建立一个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>
ok,就这么简单,呵呵,赶快运行,看看效果呢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: