Flex+blazeds实现与MySQL数据库的连接
2009-05-08 09:51
330 查看
Flex+blazeds实现与MySQL数据库的连接 -----RemoteObject方式数据库连接
刚刚学习flex不久,这个小例子通过remoteobject的通讯方法。实现flex与mySQL数据库的交互。使用mySQL中的test数据库
建表名为admin.表中字段为: id username userpwd (最终目的:将数据库表中的记录最终显示在flex端的DateGrid组件中显示出来)建立myEclipse的工程
新建->web project 输入工程名后。需要将事先下载的Blazeds包粘贴至工程目录下。并且将mysql的驱动放到工程目录lib的文件夹下(我使用版本blazeds-turnkey-3.2.0.3978.zip。把blazeds.war解压,将得到的META-INF和WEB-INF两个文件夹拷入我们发布web工程下覆盖)
代码部分
ConnectionHelper.javaimport java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionHelper { private String url; private static ConnectionHelper instance; private ConnectionHelper() { try { Class.forName("com.mysql.jdbc.Driver"); url = "jdbc:MySQL://localhost/test"; } catch (Exception e) { e.printStackTrace(); } } public static Connection getConnection() throws SQLException { if (instance == null) { instance = new ConnectionHelper(); } try { return DriverManager.getConnection(instance.url,"root","root"); } catch (SQLException e) { throw e; } } public static void close(Connection connection) { try { if (connection != null) { connection.close(); } } catch (SQLException e) { e.printStackTrace(); } } } |
public class DAOException extends RuntimeException { static final long serialVersionUID = -1881205326938716446L; public DAOException(String message) { super(message); } public DAOException(Throwable cause) { super(cause); } public DAOException(String message, Throwable cause) { super(message, cause); } } |
Admin.java
import java.io.Serializable; public class Admin implements Serializable { static final long serialVersionUID = 103844514947365244L; private int id; private String username; private String userpwd; public Admin() { } public Admin(int id,String username,String userpwd) { this.id = id; this.username=username; this.userpwd=userpwd; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getUserpwd() { return userpwd; } public void setUserpwd(String userpwd) { this.userpwd = userpwd; } } |
import java.util.ArrayList; import java.util.List; import java.sql.*; import flex.jie.ConnectionHelper; import flex.jie.DAOException; public class AdminService { public List getAdmins() throws DAOException { List list = new ArrayList(); Connection c = null; try { c = ConnectionHelper.getConnection(); Statement s = c.createStatement(); ResultSet rs = s.executeQuery("SELECT * FROM admin ORDER BY id"); while (rs.next()) { list.add(new Admin(rs.getInt("id"), rs.getString("username"), rs.getString("userpwd"))); } } catch (SQLException e) { e.printStackTrace(); throw new DAOException(e); } finally { ConnectionHelper.close(c); } return list; } } |
在remoting-config.xml文件中
添加(source处根据实际的建包名填写)
<destination id="admin">
<properties>
<source>flex.jie.user.AdminService</source>
</properties>
</destination>
至此。myEclipse工程中所需代码以及配置已经完成。将工程部署并发布在Tomacat下面。
接下来,flex端的步骤。
首先 新建Flex
Project ,输入工程名。在server technology处选择J2EE,点击next
填写刚刚发布在tomcat下的目录名。点击完成。
在默认的mxml中的代码如下:
index.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#FFFFFF"> <mx:RemoteObject id="srv" destination="admin"/> <mx:DataGrid dataProvider="{srv.getAdmins.lastResult}" width="100%" height="100%"/> <mx:Button label="Get Data" click="srv.getAdmins()"/> </mx:Application> |
或者想显示指定的列。只需要稍作修改即可
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#FFFFFF" creationComplete="srv.getAdmins()"> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; import mx.collections.ArrayCollection; [Bindable]public var ad:ArrayCollection; private function adminHandler(event:ResultEvent):void { ad= event.result as ArrayCollection } ]]> </mx:Script> <mx:RemoteObject id="srv" destination="admin"> <mx:method name="getAdmins" result="adminHandler(event)"/> </mx:RemoteObject> <mx:DataGrid dataProvider="{ad}"> <mx:columns> <mx:DataGridColumn headerText="用户名" dataField="username"/> <mx:DataGridColumn headerText="密码" dataField="userpwd"/> </mx:columns> </mx:DataGrid> </mx:Application> |
。建立连接。从而flex端所用到的java方法可以找到。返回数据库中所建表的信息。
相关文章推荐
- Flex+blazeds实现与mySQL数据库的连接(已成功实现此文的例子)
- Flex+blazeds实现与mySQL数据库的连接
- java实现连接mysql数据库单元测试查询数据项目分享
- 使用BlazeDS实现Java和Flex通信。
- Flex 3 和PHP连接mysql数据库
- c语言连接mysql数据库的实现方法
- 使用JDBC连接MySQL数据库--典型案例分析(九)----财务帐号的DAO设计及其实现
- 使用JDBC连接Mysql数据库存入二进制图片并实现读取在PHP中打开展示
- 模式连接C实现PHP的mysql数据库连接池
- jsp连接mysql数据库,实现含验证码的用户登录
- Flex blazeds数据管理的实现和问题
- PHP连接MySQL数据库,实现将数据库表中的信息显示在网页上
- Eclipse+Tomcat实现Mysql数据库连接
- BlazeDS实现flex与java和数据源交互技术
- php实现mysql数据库连接操作及用户管理
- JSP中的连接mysql数据库的代码实现
- mybatis连接mysql数据库实现的jdbc功能
- 连接到FMS服务器(Flash/Flex两种实现)
- java使用JFrame连接mysql数据库,实现简单登陆。
- 数据库基础篇(三)通过EF实现与MySql数据库的连接