设为首页 收藏本站
查看: 290|回复: 0

[经验分享] Flex与Java基于RemoteObject进行数据库(mysql)操作

[复制链接]

尚未签到

发表于 2016-10-17 06:14:31 | 显示全部楼层 |阅读模式
  首先呢,一些基本配置这里就不作一一介绍了(可以去网上查查 很多的配置视频、文档,这里只是代码)
  
  1)建立一个Java+Flex工程
  
  2)新建java类
  
  1.AddDataImpl.java
  
  

package com;
import java.sql.*;
import com.ConnectionFactory;
public class AddDataImpl {
 String sql;  // 定义类型
 Connection conn = null;
 Statement stmt = null;
 int rs;
 public AddDataImpl(){}
 public NoticeInfo[] addData(){ 
   try{
    conn = ConnectionFactory.getConnection();
    stmt = conn.createStatement();
    String sql = "insert into userinfo values ('11','11','11','1111-11-11') ";
    rs=stmt.executeUpdate(sql);
    stmt.close();   
   }catch(SQLException e){
    e.printStackTrace();
   }
 return null;
 }
}
  
  2.ConnectionFactory.java
  

package com;
import java.sql.*;
 
public class ConnectionFactory {
 private static ConnectionFactory ref = new ConnectionFactory();
  // 连接mysql数据库, database : test  user : root  password : 1272107226
  private ConnectionFactory()
  {
   try{
    Class.forName("com.mysql.jdbc.Driver");
   }catch(ClassNotFoundException e)
   {
    System.out.println("ERROR: exception loading driver class");
   }
  }
  public static Connection getConnection() throws SQLException{
  
   String url = new String ("jdbc:mysql://localhost:3306/test?user=root&password=root");
   return DriverManager.getConnection(url);
  }
 
  public static void close(ResultSet rs)
  {
   try{
    rs.close();
   }catch(Exception ignored){}
  }
  public static void close(Statement stmt)
  {
   try{
    stmt.close();
   }catch(Exception ignored){}
  }
  public static void close(Connection conn)
  {
   try{
    conn.close();
   }catch(Exception ignored){}
  }  
}
  3.DataServiceImpl.java
  

package com;
import java.sql.*;
import java.util.ArrayList;
import com.ConnectionFactory;
public class DataServiceImpl {
String sql;  // 定义类型
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;  
public DataServiceImpl(){}
public NoticeInfo[] getNotices(){  
ArrayList noticeList = new ArrayList();  
try{
conn = ConnectionFactory.getConnection();
stmt = conn.createStatement();   
String sql = "select userid, username, contents, dates from userinfo ";
rs = stmt.executeQuery(sql);     
while(rs.next()){   
NoticeInfo temp = new NoticeInfo();
temp.setUserid(rs.getString("userid"));
temp.setUsername(rs.getString("username"));
temp.setContents(rs.getString("contents"));
temp.setDates(rs.getString("dates"));
noticeList.add(temp);   
}   
NoticeInfo[] notices = new NoticeInfo[noticeList.size()];
for(int i=0;i < noticeList.size();i++){
notices = (NoticeInfo) noticeList.get(i);   
}
return notices;
}catch(SQLException e){
e.printStackTrace();
return null;
}
}
}
  4.NoticeInfo.java
  

package com;
public class NoticeInfo {
private String userid;
private String username;
private String contents;
private String dates;

public String getContents() {
return contents;
}
public void setContents(String contents) {
this.contents = contents;
}
public String getDates() {
return dates;
}
public void setDates(String dates) {
this.dates = dates;
}

public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}

  
  
  
  3)新建Flex页面
  
  1.  AddDataText.mxml
  

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" fontSize="12" creationComplete="initApp()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.utils.ArrayUtil;
private function initApp():void
{
addDataId.addData();
}

]]>
</mx:Script>
<mx:RemoteObject id="addDataId" destination="addData"/>
<mx:Button label="插入数据" click="initApp()"/>
</mx:Application>

  
  2.  JavaMysql.mxml
  

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12" creationComplete="initApp()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.utils.ArrayUtil;
private function initApp():void
{
getData.getNotices();
}
private function proccessResult(result:Object):void
{
myDG.dataProvider = ArrayUtil.toArray(result);
}
private function addDataFunction():void
{
addDataId.addData();
}
]]>
</mx:Script>
<mx:RemoteObject id="getData" destination="dataService" result="proccessResult(event.result)" fault="Alert.show(event.fault.faultString,'Error')"/>
<mx:RemoteObject id="addDataId" destination="addData"/>
<mx:Button label="插入数据" click="addDataFunction()" x="373" y="299"/>
<mx:DataGrid id="myDG" x="236" y="103">
<mx:columns>
<mx:DataGridColumn headerText="id" dataField="userid"/>
<mx:DataGridColumn headerText="username" dataField="username"/>
<mx:DataGridColumn headerText="contents" dataField="contents"/>
<mx:DataGridColumn headerText="dates" dataField="dates"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>

  4)配置remoting-config.xml
  

<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service"
class="flex.messaging.services.RemotingService">
<adapters>
<adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
</adapters>
<default-channels>
<channel ref="my-amf"/>
</default-channels>
<destination id="dataService">
<properties>
<source>com.DataServiceImpl</source>
</properties>
</destination>
<destination id="addData">
<properties>
<source>com.AddDataImpl</source>
</properties>
</destination>
</service>
  
  5)创建数据库
  


DROP DATABASE IF EXISTS `test`;
CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `test`;
CREATE TABLE `userinfo` (
`userid` int(11) NOT NULL auto_increment,
`username` varchar(20) default NULL,
`contents` varchar(20) default NULL,
`dates` date default NULL,
PRIMARY KEY  (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `userinfo` VALUES (1,'as','as','2010-05-03');
INSERT INTO `userinfo` VALUES (2,'admin','wo','2010-10-12');
INSERT INTO `userinfo` VALUES (3,'admin3','wo','2010-10-12');
INSERT INTO `userinfo` VALUES (4,'admin4','wo','2010-10-12');
INSERT INTO `userinfo` VALUES (5,'admin5','wo','2010-10-12');
INSERT INTO `userinfo` VALUES (6,'admin6','wo','2010-10-12');
INSERT INTO `userinfo` VALUES (7,'admin7','wo','2010-10-12');
INSERT INTO `userinfo` VALUES (8,'admin8','wo','2010-10-12');
INSERT INTO `userinfo` VALUES (9,'admin9','wo','2010-10-12');
INSERT INTO `userinfo` VALUES (10,'admin10','wo','2011-11-11');

  
  6)引进 连接mysql的包
  
  名字为:mysql-connector-java-5.1.7-bin.jar
  
  最后调试,一般都能成功,要还是不能成功的请发邮箱:xinyuzas611@163.com   
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-287073-1-1.html 上篇帖子: mysql中的内连接,外连接实例详解 下篇帖子: Web项目 Jsp+Tomcat+Mysql乱码解决终极篇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表