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
- <?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="userDao">
- <properties>
- <source>com.datainfo.UserDAO</source>
- </properties>
- </destination>
- </service>
<?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="userDao"> <properties> <source>com.datainfo.UserDAO</source> </properties> </destination> </service>
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
- <?xml version="1.0" encoding="utf-8"?>
- <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
- 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">
- <fx:Declarations>
- <!-- 将非可视元素(例如服务、值对象)放在此处 -->
- <s:RemoteObject id="userdata" destination="userDao" result="onResult(event)" fault="onFault(event)" />
- <!--<s:method name="getUserList" result="onResult(event)" fault="onFault(event)" />-->
- <s:RemoteObject id="adduserdata" destination="userDao" result="addResult(event)" fault="addFault(event)" />
- <s:RemoteObject id="updatauserdata" destination="userDao" result="updataResult(event)" fault="updataFault(event)" />
- <s:RemoteObject id="deleteuserdata" destination="userDao" result="deleteResult(event)" fault="deleteFault(event)" />
- </fx:Declarations>
- <fx:Script>
- <!--[CDATA[
- import com.flex.UserFlex;
- import mx.collections.ArrayCollection;
- import mx.controls.Alert;
- import mx.managers.CursorManager;
- import mx.rpc.events.FaultEvent;
- import mx.rpc.events.ResultEvent;
- public var userFlex:UserFlex = new UserFlex();
- public var result:Object = new Object();
- [Bindable]
- public var users:ArrayCollection = new ArrayCollection();
- public function initApp():void{
- // userdata.getUserList();
- }
- public function click_handler(event:Event):void{
- CursorManager.setBusyCursor();
- info.text = "正在查 询...";
- userdata.getUserList();
- }
- public function adduser_handler(event:Event):void{
- if(username.text != "" && password.text != ""){
- CursorManager.setBusyCursor();
- addinfo.text = "正在添加...";
- userFlex.username = username.text;
- userFlex.password = password.text;
- adduserdata.addUser(userFlex);
- }else{
- addinfo.text = " 用户名和密码不能为空";
- }
- }
- public function updataUser(event:Event):void{
- if(userlist.selectedItem.username != "" && userlist.selectedItem.password != ""){
- CursorManager.setBusyCursor();
- info.text = "正在 更新...";
- userFlex.id = userlist.selectedItem.id;
- userFlex.username = userlist.selectedItem.username;
- userFlex.password = userlist.selectedItem.password;
- updatauserdata.updataUser(userFlex);
- }
- // Alert.show("确认修改?");
- }
- public function deleteUser(event:Event):void{
- CursorManager.setBusyCursor();
- info.text = "正在正在删 除...";
- userFlex.id = userlist.selectedItem.id;
- deleteuserdata.deleteUser(userFlex);
- }
- public function onResult(event:ResultEvent):void{
- users = event.result as ArrayCollection;
- CursorManager.removeBusyCursor();
- if(users.length==0){
- info.text="取数据成功,为空";
- }else{
- info.text = " 取数据成功";
- }
- }
- public function onFault(event:FaultEvent):void{
- CursorManager.removeBusyCursor();
- info.text="取数据失败";
- }
- public function addResult(event:ResultEvent):void{
- CursorManager.removeBusyCursor();
- userdata.getUserList();
- username.text = "";
- password.text = "";
- addinfo.text = " 添加成功";
- // info.text = "取数据成功";
- }
- public function addFault(event:FaultEvent):void{
- CursorManager.removeBusyCursor();
- addinfo.text="添加失败";
- }
- public function updataResult(event:ResultEvent):void{
- CursorManager.removeBusyCursor();
- userdata.getUserList();
- info.text = "修改数 据成功";
- }
- public function updataFault(event:FaultEvent):void{
- CursorManager.removeBusyCursor();
- info.text="修改数据失 败";
- }
- public function deleteResult(event:ResultEvent):void{
- CursorManager.removeBusyCursor();
- userdata.getUserList();
- info.text = "刪除数据成 功";
- }
- public function deleteFault(event:FaultEvent):void{
- CursorManager.removeBusyCursor();
- info.text="刪除数据失败";
- }
- ]]-->
- </fx:Script>
- <locdg:DoubleClickDataGrid x="61" y="189" id="userlist" dataProvider="{users}" editable="true">
- <locdg:columns>
- <mx:DataGridColumn headerText="ID号" dataField="id" editable="false"/>
- <mx:DataGridColumn headerText="账号" dataField="username" editable="true"/>
- <mx:DataGridColumn headerText="密码" dataField="password" editable="true"/>
- <mx:DataGridColumn headerText="修改" width="50" editable="false" >
- <mx:itemRenderer>
- <fx:Component>
- <mx:LinkButton toolTip="修改" click="outerDocument.updataUser(event)" icon="@Embed('/image/update.gif')">
- </mx:LinkButton>
- </fx:Component>
- </mx:itemRenderer>
- </mx:DataGridColumn>
- <mx:DataGridColumn headerText="删除" width="50" editable="false" >
- <mx:itemRenderer>
- <fx:Component>
- <mx:LinkButton toolTip="删除" click="outerDocument.deleteUser(event)" icon="@Embed('/image/delete.gif')">
- </mx:LinkButton>
- </fx:Component>
- </mx:itemRenderer>
- </mx:DataGridColumn>
- </locdg:columns>
- </locdg:DoubleClickDataGrid>
- <s:Button x="491" y="189" label="取数 据" click="click_handler(event)" />
- <s:RichText x="606" y="189" id="info" text="点击按钮取数据"/>
- <mx:Form x="163" y="72" borderStyle="solid" borderVisible="true">
- <mx:FormItem label="用户名" borderStyle="solid" borderVisible="true">
- <s:TextInput id="username" />
- </mx:FormItem>
- <mx:FormItem label="密 码" borderStyle="solid" borderVisible="true">
- <s:TextInput id="password"/>
- </mx:FormItem>
- </mx:Form>
- <s:Button x="444" y="100" label="添 加" click="adduser_handler(event)"/>
- <s:RichText x="544" y="100" id="addinfo" text="请添加"/>
- </s:Application>
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 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"> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> <s:RemoteObject id="userdata" destination="userDao" result="onResult(event)" fault="onFault(event)" /> <!--<s:method name="getUserList" result="onResult(event)" fault="onFault(event)" />--> <s:RemoteObject id="adduserdata" destination="userDao" result="addResult(event)" fault="addFault(event)" /> <s:RemoteObject id="updatauserdata" destination="userDao" result="updataResult(event)" fault="updataFault(event)" /> <s:RemoteObject id="deleteuserdata" destination="userDao" result="deleteResult(event)" fault="deleteFault(event)" /> </fx:Declarations> <fx:Script> <!--[CDATA[ import com.flex.UserFlex; import mx.collections.ArrayCollection; import mx.controls.Alert; import mx.managers.CursorManager; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; public var userFlex:UserFlex = new UserFlex(); public var result:Object = new Object(); [Bindable] public var users:ArrayCollection = new ArrayCollection(); public function initApp():void{ // userdata.getUserList(); } public function click_handler(event:Event):void{ CursorManager.setBusyCursor(); info.text = "正在查询..."; userdata.getUserList(); } public function adduser_handler(event:Event):void{ if(username.text != "" && password.text != ""){ CursorManager.setBusyCursor(); addinfo.text = "正在添加..."; userFlex.username = username.text; userFlex.password = password.text; adduserdata.addUser(userFlex); }else{ addinfo.text = "用户名和密码不能为空"; } } public function updataUser(event:Event):void{ if(userlist.selectedItem.username != "" && userlist.selectedItem.password != ""){ CursorManager.setBusyCursor(); info.text = "正在更新..."; userFlex.id = userlist.selectedItem.id; userFlex.username = userlist.selectedItem.username; userFlex.password = userlist.selectedItem.password; updatauserdata.updataUser(userFlex); } // Alert.show("确认修改?"); } public function deleteUser(event:Event):void{ CursorManager.setBusyCursor(); info.text = "正在正在删除..."; userFlex.id = userlist.selectedItem.id; deleteuserdata.deleteUser(userFlex); } public function onResult(event:ResultEvent):void{ users = event.result as ArrayCollection; CursorManager.removeBusyCursor(); if(users.length==0){ info.text="取数据成功,为空"; }else{ info.text = "取数据成功"; } } public function onFault(event:FaultEvent):void{ CursorManager.removeBusyCursor(); info.text="取数据失败"; } public function addResult(event:ResultEvent):void{ CursorManager.removeBusyCursor(); userdata.getUserList(); username.text = ""; password.text = ""; addinfo.text = "添加成功"; // info.text = "取数据成功"; } public function addFault(event:FaultEvent):void{ CursorManager.removeBusyCursor(); addinfo.text="添加失败"; } public function updataResult(event:ResultEvent):void{ CursorManager.removeBusyCursor(); userdata.getUserList(); info.text = "修改数据成功"; } public function updataFault(event:FaultEvent):void{ CursorManager.removeBusyCursor(); info.text="修改数据失败"; } public function deleteResult(event:ResultEvent):void{ CursorManager.removeBusyCursor(); userdata.getUserList(); info.text = "刪除数据成功"; } public function deleteFault(event:FaultEvent):void{ CursorManager.removeBusyCursor(); info.text="刪除数据失败"; } ]]--> </fx:Script> <locdg:DoubleClickDataGrid x="61" y="189" id="userlist" dataProvider="{users}" editable="true"> <locdg:columns> <mx:DataGridColumn headerText="ID号" dataField="id" editable="false"/> <mx:DataGridColumn headerText="账号" dataField="username" editable="true"/> <mx:DataGridColumn headerText="密码" dataField="password" editable="true"/> <mx:DataGridColumn headerText="修改" width="50" editable="false" > <mx:itemRenderer> <fx:Component> <mx:LinkButton toolTip="修改" click="outerDocument.updataUser(event)" icon="@Embed('/image/update.gif')"> </mx:LinkButton> </fx:Component> </mx:itemRenderer> </mx:DataGridColumn> <mx:DataGridColumn headerText="删除" width="50" editable="false" > <mx:itemRenderer> <fx:Component> <mx:LinkButton toolTip="删除" click="outerDocument.deleteUser(event)" icon="@Embed('/image/delete.gif')"> </mx:LinkButton> </fx:Component> </mx:itemRenderer> </mx:DataGridColumn> </locdg:columns> </locdg:DoubleClickDataGrid> <s:Button x="491" y="189" label="取数据" click="click_handler(event)" /> <s:RichText x="606" y="189" id="info" text="点击按钮取数据"/> <mx:Form x="163" y="72" borderStyle="solid" borderVisible="true"> <mx:FormItem label="用户名" borderStyle="solid" borderVisible="true"> <s:TextInput id="username" /> </mx:FormItem> <mx:FormItem label="密码" borderStyle="solid" borderVisible="true"> <s:TextInput id="password"/> </mx:FormItem> </mx:Form> <s:Button x="444" y="100" label="添加" click="adduser_handler(event)"/> <s:RichText x="544" y="100" id="addinfo" text="请添加"/> </s:Application>
源码下载
flex与java实现增删改查相关推荐
- flex于java实现增删改查
用的是MySQL数据库. 1,建一个userdb库,再建userinfo表,字 段:id(int),username(varchar),password(varchar). view plaincop ...
- 极客技术专题【003期】:java mvc 增删改查 自动生成工具来袭
日期:2013-4-17 来源:GBin1.com 技术专题介绍 分享专题:java mvc 增删改查 自动生成工具来袭 分享人:激情燃烧的UI 授课时间:2013/04/19 21:00-22: ...
- HBase java 的增删改查
HBase java 的增删改查 . 目前来看好像是我的最全了,应该是大佬不屑于写这种的吧 . 其实本来想写很多方法的,但是写着写着就有点烦了,再加上本人也不全是闲人一个,然后就给停了,看着有点乱,但 ...
- java mongodb 增删改查_java操作mongodb:基本的增删改查
java操作mongodb的代码,包含基本的增删改查操作 获取数据库连接工具类 package com.liuc.db;import java.net.UnknownHostException;imp ...
- java pdf增删改查_如何利用Java代码操作索引库?
今天是刘小爱自学Java的第161天. 感谢你的观看,谢谢你. 学习计划安排如下: 学了几天的Elasticserch,但都是它本身的知识点,如何通过Java语言去操作它呢? 这就好比以前学数据库,在 ...
- java定时任务增删改查_python实现crontab定时任务的增删改查
python实现crontab定时任务的增删改查 python实现crontab定时任务的增删改查 本人主要业务方向是后台,在开发不同版本迭代或者项目的部署时,每次都手动去创建cron定时任务,很不符 ...
- java addservlet_servlet增删改查
Servlet 使用Servlet进行增删改查 步骤 1. 导入以下几个jar包到WEB-INF下的lib包里,必要时build path,其中jstl.jar和standard.jar是使用jst ...
- java实现增删改查_java大作业,实现学生信息增删改查
[实例简介] 编写Web应用程序(JavaEE平台上的应用,能够运行在Tomcat服务器上),实现学生信息的增删改查. 在Web页面上实现添加一个学生记录,删除某个学生记录,修改某个学生记录,和按照姓 ...
- JAVA JDBC 增删改查简单例子
1.数据库配置文件jdbc.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username= ...
最新文章
- opencv 无法找到tbb_debug.dll
- Hibernate 配置C3P0 连接池
- 区块链BaaS云服务(17)纸贵科技Z-BaaS平台“跨链”
- Python学习:函数
- 13 个开源备份解决方案
- Java语法基础学习DayNineteen(反射机制)
- PHP Filesystem
- 30道Linux面试题
- 2020-11-30 04_机器视觉中的特征提取与描述
- CentOS(Linux)安装KETTLE教程 并配置执行定时任务
- matlab 模的平方,RSA模重复平方算法小示例
- 为什么没什么人玩呢?凰华学院主校剧情有感
- 主板装机测试软件,主板检测工具:PSPident v0.74.1版发布
- Intel汇编-无符号整数的乘法操作
- Sobel和Roberts算子的推导过程
- 最安全的邮箱-Gmail
- Python实现发送邮件(实现单发/群发邮件验证码)
- RW、RO、ZI段的含义
- Accelstepper 库中的参数计算公式
- 浅析Draw Call