前几天有网友要我写一篇关于flex与数据库交互的例子一直由于时间紧没能写今天晚上特地花点时间写了个例子希望能给大家一点帮助其实flex与数据库交互很简单的我主要是通过java与数据库交互读取数据然后flex和java进行交互把java读取的数据在flex前端显示出来好了说了一堆废话下面代码说明问题
对于建立一个flex web应用的步骤我就不多说了哈
首先要求大家到数据库建立一个数据库在我这例子中数据库名为userDb建立一个表userInfo里面设置两个字段一个为id一个为name第二创建以下java代码在src目录下
Userjava
packageorgrjbjava;
publicclassUser{
privateStringname;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
thisname=name;
}
}
UserDaojava
packageorgrjbjava;
importjavasqlConnection;
importjavasqlDriverManager;
importjavasqlResultSet;
importjavasqlSQLException;
importjavasqlStatement;
importjavautilArrayList;
importjavautilList;
publicclassUserDao{
publicstaticConnectiongetConnection(){
Connectionc=null;
try{
Stringdriver=commysqljdbcDriver;
Stringurl=jdbc:mysql://localhost:/userDb;
Stringusername=root;
Stringpassword=;
ClassforName(driver);
c=DriverManagergetConnection(urlusernamepassword);
}catch(Exceptione){
Systemoutprintln(egetMessage());
}
returnc;
}
publicListgetAllUser()throwsSQLException{
Connectionc=getConnection();
Statementst=ccreateStatement();
ResultSetrs=stexecuteQuery(select*fromUserInfo);
ArrayListuserList=newArrayList<User>();
while(rsnext()){
Useru=newUser();
usetName(rsgetString(name));
userListadd(u);
}
returnuserList;
}
}
以上是java端的全部代码了下面是flex端的代码
第三创建以下代码在flex_src下
Useras
packageorgrjbflex
{
[RemoteClass(alias=orgrjbjavaUser)]
publicclassUser
{
privatevar_name:String;
publicfunctionUser()
{
}
publicfunctiongetname():String{
returnthis_name;
}
publicfunctionsetname(name:String):void{
this_name=name;
}
}
}
Useras
packageorgrjbflex
{
[RemoteClass(alias=orgrjbjavaUser)]
publicclassUser
{
privatevar_name:String;
publicfunctionUser()
{
}
publicfunctiongetname():String{
returnthis_name;
}
publicfunctionsetname(name:String):void{
this_name=name;
}
}
}
接下来是mxml代码也就是我们真正展示我们数据的界面
FlexWithJavamxml
<?xmlversion=encoding=utf?>
<mx:Applicationxmlns:mx=layout=vertical>
<mx:RemoteObjectid=uddestination=UserDaoresult=onResult(event)fault=onFault()/>
<mx:DataGriddataProvider={users}>
<mx:columns>
<mx:DataGridColumndataField=nameheaderText=name/>
</mx:columns>
</mx:DataGrid>
<mx:Labelid=info/>
<mx:Buttonlabel=clickclick=clickFun()/>
<mx:Script>
<![CDATA[
importllectionsArrayCollection;
importmxrpceventsResultEvent;
[Bindable]
publicvarusers:ArrayCollection=newArrayCollection();
publicfunctionclickFun():void{
udgetAllUser();
}
publicfunctiononResult(event:ResultEvent):void{
users=ArrayCollection(eventresult);
infotext=getdatasuccessfully;
}
publicfunctiononFault():void{
infotext=Error;
}
]]>
</mx:Script>
</mx:Application>
第四配置remotingconfigxml在里面加上如下配置文件
<destinationid=UserDao>
<properties>
<source>orgrjbjavaUserDao</source>
</properties>
</destination>
ok
就这么简单
呵呵
赶快运行
看看效果呢