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

Flex与java交互之数据库数据读取

    博客分类:
  • Flex
阅读更多
   嘿,先向大家宣传下我站啊,http://www.lovestblog.cn,这是我的个人博客,希望大家常来我博客坐坐呢,相信大家也会有所收益的,不过我也不会放弃javaeye的,我也会一直在这里写东西的。
   前几天有网友要我写一篇关于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.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>

    ok,就这么简单,呵呵,赶快运行,看看效果呢,我把效果粘帖出来哦。

    你们看看是不是有相同的效果,如果还觉得有哪里不理解的可以问我噢,给我留言吧,以后还希望朋友们多多支持我博客呀,呵呵。这篇博文是我首先发表在自己的博客http://nijiaben058.jspkj.com,欢迎大家去我那个博客上逛逛,相信也会有所收益的,呵呵。

  • 大小: 2.6 KB
8
0
分享到:
评论
4 楼 chym_ouyj 2010-01-25  
那个User.as  有用到吗?
3 楼 nijiaben 2009-04-01  
alizv 写道

你那站点都提示关闭或者没备案的。

呵呵,这些天因为点事关了,过几天就开了,呵呵
2 楼 alizv 2009-04-01  
你那站点都提示关闭或者没备案的。
1 楼 whaosoft 2009-03-31  
都这意思啊 只是我们用了框架

相关推荐

Global site tag (gtag.js) - Google Analytics