代码:Flex与数据库交互

  前几天有网友要我写一篇关于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.javapackage 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();

  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

  <、/properties>

  <、/destination>

  ok,就这么简单,呵呵,赶快运行,看看效果呢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值