Flex获取MySQL数据库数据
我的环境为:Flash Builder4.6+MyEclipse10.6+MySQL5.6+32位Win7旗舰版 参考文章: http://kb.cnblogs.com/page/77057/ http://www.voidcn.com/article/p-oqhedgto-sw.html ------------------------------------------------------------------------------------------------------------------------------------------------------------------ 初学Flex,在此做下笔记,我使用BlazeDS来访问服务器数据。 这例子是获取MySQL数据库表中的一条记录,并显示出来,效果如下: 看完效果,接下来我简单的说下实现过程。 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- 首先是MySQL数据库表的建立,为方便测试,表中就一条记录。 数据库名:test ?? 表名:tbAdmin 截图如下: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 弄好数据库后,我们就可以用MyEclipse建立web工程了,建好web工程后,我们需要下载BlazeDS.jar包来搭建BlazeDS环境, BlazeDS.jar下载地址:http://download.csdn.net/detail/friendan/6593275 下载好BlazeDS.jar后,解压,得到两个文件夹:META-INF和WEB-INF 将解压得到的两个文件夹META-INF和WEB-INF复制到web工程的WebRoot目录,覆盖掉原来的两个同名文件夹, 这样BlazeDS环境,就搭建好了,简单吧。 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 简言之,用BlazeDS.jar解压得到的两个文件夹META-INF和WEB-INF覆盖掉web工程的两个同名文件夹, BlazeDS环境就搭建好了,很简单的。 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- BlazeDS环境搭建好后,我们就可以编写一个java类来获取数据库表中的记录了,我写的java类代码如下: import bean.Admin; import dao.AdminDAO; public class AdminDAOImpl implements AdminDAO{ @Override public List<Admin> GetAllAdmin() { // TODO Auto-generated method stub return null; } @Override public Admin GetAdmin(int id) { try { String sql="select * from tbAdmin where id='1'"; sql=sql.replace("1",String.valueOf(id)); //System.out.println(sql); ResultSet rs=DbCRUD.Select(sql); int row=0; Admin admin=new Admin(); while(rs.next()) { admin.setId(rs.getInt("id")); admin.setUsrName(rs.getString("usrName")); admin.setUsrPass(rs.getString("usrPass")); //System.out.println(rs.getString(1)+"---"+rs.getString(2)); } return admin; } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } } ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 接下来设置remoting-config.xml,这样Flex才可以访问我们以上编写的java类AdminDAOImpl,设置代码如下: <destination id="adminDAOImpl"> ? 截图如下: --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 好,以上就是服务器端的主要设置和代码了,接下来可以进行Flex开发了。 ------------------------------------------------------------------------------------------------------------------------- 导入用到的Flex包: <fx:Script> <![CDATA[ //导入程序用到的包 import mx.controls.Alert; import mx.rpc.events.ResultEvent; import mx.rpc.events.FaultEvent; ]]> </fx:Script> --------------------------------------------------------------------------------------------------------------------------------------------------- 远程对象声明和回调方法: 注意<s:RemoteObject ?.../>标签中的destination="adminDAOImpl",要与remoting-config.xml文件配置中的保持一致, 具体请看前文。 <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> <s:RemoteObject id="roAdmin" destination="adminDAOImpl"> <s:method name="GetAdmin" result="rstGetAdmin(event)" fault="fltGetAdmin(event)"/> </s:RemoteObject> </fx:Declarations> <fx:Script> <![CDATA[ //调用远程方法GetAdmin(int id)成功时 private function rstGetAdmin(event:ResultEvent):void { var str:String =String(event.result.id); //用户id str+=" "; str+=event.result.usrName;//用户名 str+=" "; str+=event.result.usrPass;//用户密码 Alert.show(str); } //调用远程方法GetAdmin(int id)失败时 private function fltGetAdmin(event:FaultEvent):void { Alert.show(event.message.toString());//显示错误信息 } ]]> </fx:Script> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 最后就是调用远程对象了中的方法了: <fx:Script> <![CDATA[ //登陆按钮 protected function btnLogin_clickHandler(event:MouseEvent):void { this.roAdmin.GetAdmin(1);//调用远程对象的方法:public Admin GetAdmin(int id) } ]]> </fx:Script>----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 大工告成,再贴一下效果图: ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 您的十分满意是我追求的宗旨。 您的一点建议是我后续的动力。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |