`
aijun980204
  • 浏览: 96004 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

flex与数据库交互

    博客分类:
  • flex
阅读更多
一》 通过java与数据库交互读取数据,然后flex和java再进行交互,把java读取的数据放在flex前端显示出来。

1)首先建立数据库:

① 打开cmd终端:
view plaincopy to clipboardprint?

   1. mysql -h localhost -u root -p 

mysql -h localhost -u root -p
,按提示输入密码(我用的root)。

② 建立数据库:

view plaincopy to clipboardprint?

   1. create database user; 
   2. use user; 

create database user; use user;

③ 建立数据表userInfo:


view plaincopy to clipboardprint?

   1. SET FOREIGN_KEY_CHECKS=0; 
   2. DROP TABLE IF EXISTS `userinfo`; 
   3. CREATE TABLE `userinfo` ( 
   4.     `userId` int(10) unsigned zerofill NOT NULL auto_increment, 
   5.     `userName` varchar(30) NOT NULL, 
   6.     `userPasswd` varchar(16) NOT NULL, 
   7.     PRIMARY KEY  (`userId`) 
   8. ) DEFAULT CHARSET=utf8; 

SET FOREIGN_KEY_CHECKS=0; DROP TABLE IF EXISTS `userinfo`; CREATE TABLE `userinfo` ( `userId` int(10) unsigned zerofill NOT NULL auto_increment, `userName` varchar(30) NOT NULL, `userPasswd` varchar(16) NOT NULL, PRIMARY KEY (`userId`) ) DEFAULT CHARSET=utf8;

2)创建javaDao。

① 创建User类

view plaincopy to clipboardprint?

   1. public class User { 
   2.     private String name; 
   3.     public String getName(){ 
   4.         return name; 
   5.     } 
   6.     public void setName(String name){ 
   7.         this.name=name; 
   8.     } 
   9. } 

public class User { private String name;    public String getName(){ return name; } public void setName(String name){ this.name=name; } }

② 创建DAO类

view
plaincopy
to clipboardprint?

   1. UserDao.java 
   2. import java.sql.Connection; 
   3. import java.sql.DriverManager; 
   4. import java.sql.ResultSet; 
   5. import java.sql.SQLException; 
   6. import java.sql.Statement; 
   7. import java.util.ArrayList; 
   8. import java.util.List; 
   9.      
  10. public class UserDao{ 
  11.     public static Connection getConnection(){ 
  12.         Connection onnection=null; 
  13.         try{ 
  14.             String driver="com.mysql.jdbc.Driver"; 
  15.             String url="jdbc:mysql://localhost:3306/user"; 
  16.             String username="root"; 
  17.             String password="root"; 
  18.             Class.forName(driver); 
  19.             onnection=DriverManager.getConnection(url,username,password); 
  20.         }catch(Exception e){ 
  21.             System.out.println(e.getMessage()); 
  22.         } 
  23.         return onnection; 
  24.     } 
  25.     public List getAllUser()throws SQLException{ 
  26.         Connection connection=getConnection(); 
  27.         Statement st=onnection.createStatement(); 
  28.         ResultSet rs=st.executeQuery("select * from userInfo"); 
  29.         ArrayList userList=new ArrayList<User>(); 
  30.         while(rs.next()){ 
  31.             User u=new User(); 
  32.             u.setName(rs.getString("name")); 
  33.             userList.add(u); 
  34.         } 
  35.         return userList; 
  36.     } 
  37. } 

UserDao.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 onnection=null; try{ String driver="com.mysql.jdbc.Driver"; String url="jdbc:mysql://localhost:3306/user"; String username="root"; String password="root"; Class.forName(driver); onnection=DriverManager.getConnection(url,username,password); }catch(Exception e){ System.out.println(e.getMessage()); } return onnection; } public List getAllUser()throws SQLException{ Connection connection=getConnection(); Statement st=onnection.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; } }

3) flex代码

① User类

view
plaincopy
to clipboardprint?

   1. User.aspackage org.rjb.flex{ 
   2.     [RemoteClass(alias="java.User")] 
   3.     public class User{ 
   4.         private var _name:String; 
   5.         public function User(){} 
   6.          
   7.         public function get name():String{ 
   8.             return this._name; 
   9.         } 
  10.         public function set name(name:String):void{ 
  11.             this._name=name; 
  12.         } 
  13.     } 
  14. } 

User.aspackage org.rjb.flex{ [RemoteClass(alias="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.mxml文件

view plaincopy to clipboardprint?

   1. <?xml version="1.0" encoding="utf-8"?> 
   2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"> 
   3.     <mx:RemoteObject id="ud" destination="UserDao" result="onResult(event)" fault="onFault()" /> 
   4.     <mx:DataGrid dataProvider="{users}"> 
   5.         <mx:columns> 
   6.             <mx:DataGridColumn dataField="name" headerText="name" /> 
   7.         </mx:columns> 
   8.     </mx:DataGrid> 
   9.     <mx:Label id="info" /> 
  10.     <mx:Button label="click" click="clickFun()" /> 
  11.     <mx:Script> 
  12.         <!--[CDATA[ 
  13.             import mx.collections.ArrayCollection; 
  14.             import mx.rpc.events.ResultEvent; 
  15.             [Bindable] 
  16.             public var users:ArrayCollection=new ArrayCollection(); 
  17.             public function clickFun():void{ 
  18.                 ud.getAllUser(); 
  19.             } 
  20.             public function onResult(event:ResultEvent):void{ 
  21.                 users=ArrayCollection(event.result); 
  22.                 info.text="get data successfully"; 
  23.             } 
  24.             public function onFault():void{ 
  25.                 info.text="Error"; 
  26.             } 
  27.         ]]--> 
  28.     </mx:Script> 
  29. </mx:Application> 

<?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,在里面加上 如下配置文件:
view
plaincopy
to clipboardprint?

   1. <destination id="UserDao"> 
   2.     <properties> 
   3.         <source>UserDao</source> 
   4.     </properties> 
   5. </destination> 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics