flex与Java整合(完整的增删改查)

连接数据库:
package com.db;

import java.sql.*;


public class DBUtlie {
private static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL="jdbc:sqlserver://127.0.0.1:1433;databaseName=mytest";
private static final String USER="sa";
private static final String PWD="123";

private Connection con=null;

public Connection getConnection(){
try{
Class.forName(DRIVER);
con=DriverManager.getConnection(URL,USER,PWD);
}catch(Exception e){
e.printStackTrace();
}
return con;
}

public static void close(Connection con, PreparedStatement ps, ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (con != null) {
con.close();
}

} catch (SQLException se) {
se.printStackTrace();
}
}


}

实体类:
package com.pojo;

public class Student {
private int sid;
private String sname;
private String ssex;
private String saddress;
private String sremark;

public int getSid() {
return sid;
}

public void setSid(int sid) {
this.sid = sid;
}

public String getSname() {
return sname;
}

public void setSname(String sname) {
this.sname = sname;
}

public String getSsex() {
return ssex;
}

public void setSsex(String ssex) {
this.ssex = ssex;
}

public String getSaddress() {
return saddress;
}

public void setSaddress(String saddress) {
this.saddress = saddress;
}

public String getSremark() {
return sremark;
}

public void setSremark(String sremark) {
this.sremark = sremark;
}

}

dao类:
package com.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import com.db.DBUtlie;
import com.pojo.Student;

public class StudentDao {
private Connection con = null;
private PreparedStatement ps;
private ResultSet rs;

//查询所有
public Student[] getStudent(){
Student[] stuList=null;
ArrayList<Student> list=null;
try{
list=new ArrayList<Student>();
con = new DBUtlie().getConnection();
String sql="select * from student";
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()){
Student student=new Student();
student.setSid(rs.getInt("sid"));
student.setSname(rs.getString("sname"));
student.setSsex(rs.getString("ssex"));
student.setSaddress(rs.getString("saddress"));
student.setSremark(rs.getString("sremark"));
list.add(student);
}
stuList=new Student[list.size()];
for(int i=0;i<stuList.length;i++){
stuList[i]=list.get(i);
}
}catch(Exception e){
e.printStackTrace();
}finally {
try {
rs.close();
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return stuList;
}

//查找单个对象
public Student findStudent(Student stu){
Student student=null;
try{
con = new DBUtlie().getConnection();
String sql="select * from student where sid=?";
ps=con.prepareStatement(sql);
ps.setInt(1, stu.getSid());
rs=ps.executeQuery();
while(rs.next()){
student=new Student();
student.setSid(rs.getInt("sid"));
student.setSname(rs.getString("sname"));
student.setSsex(rs.getString("ssex"));
student.setSaddress(rs.getString("saddress"));
student.setSremark(rs.getString("sremark"));
}
}catch(Exception e){
e.printStackTrace();
}finally {
try {
rs.close();
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return student;

}

//添加
public void addStudent(Student stu){
try{
String sql="insert into student values(?,?,?,?);";
con=new DBUtlie().getConnection();
ps=con.prepareStatement(sql);
ps.setString(1, stu.getSname());
ps.setString(2, stu.getSsex());
ps.setString(3, stu.getSaddress());
ps.setString(4, stu.getSremark());
ps.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}finally {
try {
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

//修改
public void updateStudent(Student stu){
try{
String sql="update student set sname=?,ssex=?,saddress=?,sremark=? where sid=?";
con=new DBUtlie().getConnection();
ps=con.prepareStatement(sql);
ps.setString(1, stu.getSname());
ps.setString(2, stu.getSsex());
ps.setString(3, stu.getSaddress());
ps.setString(4, stu.getSremark());
ps.setInt(5, stu.getSid());
ps.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}finally {
try {
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

//删除
public void deleteStudent(Student stu){
try{
String sql="delete from student where sid=?";
con=new DBUtlie().getConnection();
ps=con.prepareStatement(sql);
ps.setInt(1, stu.getSid());
ps.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}finally {
try {
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

}

flex:
student.as:
package com.student
{

[RemoteClass(alias="com.pojo.Student")]
public class Student
{
public function Student()
{
}

public var sid:int;
public var sname:String;
public var ssex:String;
public var saddress:String;
public var sremark:String;

}
}

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="studentdao">
<properties>
<source>com.dao.StudentDao</source>
</properties>
</destination>

</service>

student.mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" creationComplete="intoAll()" >

<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import mx.managers.CursorManager;
import com.student.Student;

private function intoAll():void{
remote.getStudent();
}

private function getStudentAll(e:ResultEvent):void{
date.dataProvider = e.result as Array;
}

private function add():void{
var stu:Student = new Student();
if(sname.text!="" && ssex.text!="" && saddress.text!=""){
stu.sname = sname.text;
stu.ssex = ssex.text;
stu.saddress=saddress.text;
stu.sremark=sremark.text;
remote.addStudent(stu);
}else{
Alert.show("[请输入姓名] 或者 [请输入性别] 或者 [请输入地址]?");
}
}

private function saveStudentResult(e:ResultEvent):void{
this.intoAll();

}

//删除方法一
public function delStu(data:Student):void{
remote.deleteStudent(data);

}

//删除方法二
/* public function delStu():void{
var stu:Student = new Student();
stu.sid= date.selectedItem.sid
remote.deleteStudent(stu);
} */

private function delStudentResult(e:ResultEvent):void{
this.intoAll();
Alert.show("删除成功");
}

public function updateStudent(data:Student):void{
remote.updateStudent(data);
}

private function updateStudentResult(e:ResultEvent):void{
this.intoAll();
Alert.show("修改成功");
}
]]>
</mx:Script>


<mx:RemoteObject id="remote" destination="studentdao">
<mx:method name="getStudent" result="getStudentAll(event);"/>
<mx:method name="addStudent" result="saveStudentResult(event);"/>
<mx:method name="deleteStudent" result="delStudentResult(event);"/>
<mx:method name="updateStudent" result="updateStudentResult(event);"/>
</mx:RemoteObject>

<mx:Button x="451" y="357" label="getData" click="intoAll();" height="26"/>


<mx:DataGrid id="date" x="28" y="23" width="500" height="300" editable="true">
<mx:columns>
<mx:DataGridColumn headerText="id" dataField="sid" editable="false"/>
<mx:DataGridColumn headerText="name" dataField="sname" editable="true"/>
<mx:DataGridColumn headerText="sex" dataField="ssex" editable="true"/>
<mx:DataGridColumn headerText="address" dataField="saddress" editable="true"/>
<mx:DataGridColumn headerText="remark" dataField="sremark" editable="true"/>
<mx:DataGridColumn headerText="删除" width="80" editable="false" >
<mx:itemRenderer>
<mx:Component>
<mx:Button label="del" click="parentDocument.delStu(data);">
</mx:Button>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn headerText="修改" width="80" editable="false" >
<mx:itemRenderer>
<mx:Component>
<mx:Button label="update" click="parentDocument.updateStudent(data);">
</mx:Button>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>


<mx:Form x="657" y="23" width="300" height="170">
<mx:FormItem label="姓名">
<mx:TextInput id="sname"/>
</mx:FormItem>
<mx:FormItem label="性别">
<mx:TextInput id="ssex"/>
</mx:FormItem>
<mx:FormItem label="地址">
<mx:TextInput id="saddress"/>
</mx:FormItem>
<mx:FormItem label="备注">
<mx:TextInput id="sremark"/>
</mx:FormItem>
</mx:Form>
<mx:Button x="882" y="224" label="addData" click="add();" />
</mx:Application>

初学flex,做个flex与Java通信的小实例,供大家参考和探讨。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值