flex java mysql_flex与java实现增删改查

用的是MySQL数据库。

1,建一个userdb库,再建userinfo表,字 段:id(int),username(varchar),password(varchar)。

create database userdb;

use userdb;

create table userinfo(

id int(10) not null auto_increment,

username varchar(20),

password varchar(20),

primary key(id));create database userdb; use userdb; create table userinfo( id int(10) not null auto_increment, username varchar(20), password varchar(20), primary key(id));

2,DBConnection.java

package com.datainfo;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class DBConnection {

public static Connection getConnection() throws ClassNotFoundException,

SQLException {

Connection conn = null;

String driver = "com.mysql.jdbc.Driver";

String url = "jdbc:mysql://localhost:3306/userdb";

String username = "root";

String password = "mysql";

Class.forName(driver);

conn = DriverManager.getConnection(url, username, password);

return conn;

}

}package com.datainfo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBConnection { public static Connection getConnection() throws ClassNotFoundException, SQLException { Connection conn = null; String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/userdb"; String username = "root"; String password = "mysql"; Class.forName(driver); conn = DriverManager.getConnection(url, username, password); return conn; } }

3,User.java

package com.datainfo;

public class User {

private int id;

private String username;

private String password;

public User() {

}

/**

* @return the id

*/

public int getId() {

return id;

}

/**

* @param id

*            the id to set

*/

public void setId(int id) {

this.id = id;

}

/**

* @return the username

*/

public String getUsername() {

return username;

}

/**

* @param username

*            the username to set

*/

public void setUsername(String username) {

this.username = username;

}

/**

* @return the password

*/

public String getPassword() {

return password;

}

/**

* @param password

*            the password to set

*/

public void setPassword(String password) {

this.password = password;

}

}package com.datainfo; public class User { private int id; private String username; private String password; public User() { } /** * @return the id */ public int getId() { return id; } /** * @param id * the id to set */ public void setId(int id) { this.id = id; } /** * @return the username */ public String getUsername() { return username; } /** * @param username * the username to set */ public void setUsername(String username) { this.username = username; } /** * @return the password */ public String getPassword() { return password; } /** * @param password * the password to set */ public void setPassword(String password) { this.password = password; } }

4,UserDAO.java

package com.datainfo;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import com.datainfo.DBConnection;

public class UserDAO {

public ArrayList getUserList() throws ClassNotFoundException, SQLException {

Connection conn = DBConnection.getConnection();

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("select * from userinfo");

ArrayList userList = null;

try {

userList = new ArrayList();

while (rs.next()) {

User user = new User();

user.setId(rs.getInt("id"));

user.setUsername(rs.getString("username"));

user.setPassword(rs.getString("password"));

userList.add(user);

}

rs.close();

stmt.close();

conn.close();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return userList;

}

public void addUser(User user) throws ClassNotFoundException, SQLException {

Connection conn = DBConnection.getConnection();

String sql = "insert into userinfo (username,password) values (?,?)";

try {

PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setString(1, user.getUsername());

pstmt.setString(2, user.getPassword());

pstmt.executeUpdate();

pstmt.close();

conn.close();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void updataUser(User user) throws ClassNotFoundException,

SQLException {

Connection conn = DBConnection.getConnection();

String sql = "update userinfo set username=?,password=? where id=?";

try {

PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setString(1, user.getUsername());

pstmt.setString(2, user.getPassword());

pstmt.setInt(3, user.getId());

pstmt.executeUpdate();

pstmt.close();

conn.close();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void deleteUser(User user) throws ClassNotFoundException,

SQLException {

Connection conn = DBConnection.getConnection();

String sql = "delete from userinfo where id =?";

try {

PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setInt(1, user.getId());

pstmt.executeUpdate();

pstmt.close();

conn.close();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}package com.datainfo; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import com.datainfo.DBConnection; public class UserDAO { public ArrayList getUserList() throws ClassNotFoundException, SQLException { Connection conn = DBConnection.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from userinfo"); ArrayList userList = null; try { userList = new ArrayList(); while (rs.next()) { User user = new User(); user.setId(rs.getInt("id")); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); userList.add(user); } rs.close(); stmt.close(); conn.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return userList; } public void addUser(User user) throws ClassNotFoundException, SQLException { Connection conn = DBConnection.getConnection(); String sql = "insert into userinfo (username,password) values (?,?)"; try { PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, user.getUsername()); pstmt.setString(2, user.getPassword()); pstmt.executeUpdate(); pstmt.close(); conn.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void updataUser(User user) throws ClassNotFoundException, SQLException { Connection conn = DBConnection.getConnection(); String sql = "update userinfo set username=?,password=? where id=?"; try { PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, user.getUsername()); pstmt.setString(2, user.getPassword()); pstmt.setInt(3, user.getId()); pstmt.executeUpdate(); pstmt.close(); conn.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void deleteUser(User user) throws ClassNotFoundException, SQLException { Connection conn = DBConnection.getConnection(); String sql = "delete from userinfo where id =?"; try { PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, user.getId()); pstmt.executeUpdate(); pstmt.close(); conn.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

5,配置文件remoting-config.xml

class="flex.messaging.services.remoting.adapters.JavaAdapter"

default="true" />

com.datainfo.UserDAO

<?xml version="1.0" encoding="UTF-8"?> com.datainfo.UserDAO

6,以下是flex端,UserFlex.as

package com.flex

{

[Bindable]

[RemoteClass(alias="com.datainfo.User")]

public class UserFlex

{

//      public function UserFlex{

//

//      }

public var id:int;

public var username:String;

public var password:String;

//      如果用private,就需要写上get/set

//

//      public function get id():int{

//          return this.id;

//      }

//      public function set id():int{

//          this.id = id;

//      }

//

//      public function get username():String{

//          return this.username;

//      }

//      public function set username():String{

//          this.username = username;

//      }

//

//      public function get password():String{

//          return this.password;

//      }

//      public function set password():String{

//          this.password = password;

//      }

}

}package com.flex { [Bindable] [RemoteClass(alias="com.datainfo.User")] public class UserFlex { //public function UserFlex{ // //} public var id:int; public var username:String; public var password:String; //如果用private,就需要写上get/set // //public function get id():int{ //return this.id; //} //public function set id():int{ //this.id = id; //} // //public function get username():String{ //return this.username; //} //public function set username():String{ //this.username = username; //} // //public function get password():String{ //return this.password; //} //public function set password():String{ //this.password = password; //} } }

7,自定义的DataGrid组件,用以双击修改数据DoubleClickDataGrid.as

package com.flex

{

import flash.events.MouseEvent;

import mx.controls.DataGrid;

import mx.controls.dataGridClasses.DataGridColumn;

import mx.controls.listClasses.IDropInListItemRenderer;

import mx.controls.listClasses.IListItemRenderer;

import mx.core.EventPriority;

import mx.events.DataGridEvent;

public class DoubleClickDataGrid extends DataGrid

{

public function DoubleClickDataGrid()

{

//TODO: implement function

super();

doubleClickEnabled = true;

}

override protected function mouseDoubleClickHandler(event:MouseEvent):void

{

var dataGridEvent:DataGridEvent;

var r:IListItemRenderer;

var dgColumn:DataGridColumn;

r = mouseEventToItemRenderer(event);

if (r && r != itemEditorInstance)

{

var dilr:IDropInListItemRenderer = IDropInListItemRenderer(r);

if (columns[dilr.listData.columnIndex].editable)

{

dgColumn = columns[dilr.listData.columnIndex];

dataGridEvent = new DataGridEvent(DataGridEvent.ITEM_EDIT_BEGINNING, false, true);

// ITEM_EDIT events are cancelable

dataGridEvent.columnIndex = dilr.listData.columnIndex;

dataGridEvent.dataField = dgColumn.dataField;

dataGridEvent.rowIndex = dilr.listData.rowIndex + verticalScrollPosition;

dataGridEvent.itemRenderer = r;

dispatchEvent(dataGridEvent);

}

}

super.mouseDoubleClickHandler(event);

}

override protected function mouseUpHandler(event:MouseEvent):void

{

var r:IListItemRenderer;

var dgColumn:DataGridColumn;

r = mouseEventToItemRenderer(event);

if (r)

{

var dilr:IDropInListItemRenderer = IDropInListItemRenderer(r);

if (columns[dilr.listData.columnIndex].editable)

{

dgColumn = columns[dilr.listData.columnIndex];

dgColumn.editable = false;

}

}

super.mouseUpHandler(event);

if (dgColumn)

dgColumn.editable = true;

}

}

}package com.flex { import flash.events.MouseEvent; import mx.controls.DataGrid; import mx.controls.dataGridClasses.DataGridColumn; import mx.controls.listClasses.IDropInListItemRenderer; import mx.controls.listClasses.IListItemRenderer; import mx.core.EventPriority; import mx.events.DataGridEvent; public class DoubleClickDataGrid extends DataGrid { public function DoubleClickDataGrid() { //TODO: implement function super(); doubleClickEnabled = true; } override protected function mouseDoubleClickHandler(event:MouseEvent):void { var dataGridEvent:DataGridEvent; var r:IListItemRenderer; var dgColumn:DataGridColumn; r = mouseEventToItemRenderer(event); if (r && r != itemEditorInstance) { var dilr:IDropInListItemRenderer = IDropInListItemRenderer(r); if (columns[dilr.listData.columnIndex].editable) { dgColumn = columns[dilr.listData.columnIndex]; dataGridEvent = new DataGridEvent(DataGridEvent.ITEM_EDIT_BEGINNING, false, true); // ITEM_EDIT events are cancelable dataGridEvent.columnIndex = dilr.listData.columnIndex; dataGridEvent.dataField = dgColumn.dataField; dataGridEvent.rowIndex = dilr.listData.rowIndex + verticalScrollPosition; dataGridEvent.itemRenderer = r; dispatchEvent(dataGridEvent); } } super.mouseDoubleClickHandler(event); } override protected function mouseUpHandler(event:MouseEvent):void { var r:IListItemRenderer; var dgColumn:DataGridColumn; r = mouseEventToItemRenderer(event); if (r) { var dilr:IDropInListItemRenderer = IDropInListItemRenderer(r); if (columns[dilr.listData.columnIndex].editable) { dgColumn = columns[dilr.listData.columnIndex]; dgColumn.editable = false; } } super.mouseUpHandler(event); if (dgColumn) dgColumn.editable = true; } } }

8,页面显示,testflex.mxml

xmlns:s="library://ns.adobe.com/flex/spark"

xmlns:mx="library://ns.adobe.com/flex/mx"

xmlns:locdg="com.flex.*"

creationComplete="initApp()"

minWidth="955" minHeight="600">

<?xml version="1.0" encoding="utf-8"?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值