flex与java实现增删改查

flex与java实现增删改查 用的是MysqL数据库。 1,建一个userdb库,再建userinfo表,字 段:id(int),username(varchar),password(varchar)。 view plaincopy to clipboardprint? 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,primary key(id)); 2,DBConnection.java view plaincopy to clipboardprint? 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,password); return conn; } } 3,User.java view plaincopy to clipboardprint? 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 view plaincopy to clipboardprint? 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.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,user.getId()); pstmt.executeUpdate(); pstmt.close(); conn.close(); } catch (Exception e) { // Todo Auto-generated catch block e.printstacktrace(); } } } 5,配置文件remoting-config.xml view plaincopy to clipboardprint? com.datainfo.UserDAO com.datainfo.UserDAO 6,以下是flex端,UserFlex.as view plaincopy to clipboardprint? 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 view plaincopy to clipboardprint? 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,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 view plaincopy to clipboardprint? 本文来自CSDN博客,转载请标明出处:http://www.cnblogs.com/nianshi/archive/2010/05/11/1732440.html

相关文章

一:display:flex布局display:flex是一种布局方式。它即可以...
1. flex设置元素垂直居中对齐在之前的一篇文章中记载过如何...
移动端开发知识点pc端软件和移动端apppc端软件是什么,有哪些...
最近挺忙的,准备考试,还有其他的事,没时间研究东西,快周...
display:flex;把容器设置为弹性盒模型(设置为弹性盒模型之后...
我在网页上运行了一个Flex应用程序,我想使用Command←组合键...