首先要求大家到数据库建立一个数据库,在我这例子中数据库名为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;
}
}
}
接下来是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>