Chinaunix首页 | 论坛 | 博客
  • 博客访问: 75128
  • 博文数量: 48
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-30 14:22
文章分类

全部博文(48)

文章存档

2014年(47)

2013年(1)

我的朋友

分类: Windows平台

2014-02-14 16:49:34

  前几天有网友要我写一篇关于flex与数据库交互的例子,一直由于时间紧没能写,今天晚上特地花点时间写了个例子,希望能给大家一点帮助,其实flex与数据库交互很简单的,我主要是通过java与数据库交互读取数据,然后和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="" 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,就这么简单,呵呵,赶快运行,看看效果呢。
阅读(774) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~