Flex – BlazeDS – Java – JDBC – MySql 速配[快速配置]

从下往上:

1. Java – JDBC – MySql

1. 装好MySql, 启动服务.

2. 将mysql-connector-java-5.1.7-bin.jar 拖入WEB-INF/lib下.

搞定.

2. Java端BlazeDS配置

1. Java端:

将BlazeDS压缩包内的WEB-INF里面的东西拷贝工程内的WEB-INF下的相应位置中.[ Flex目录下有四个xml配置文件, lib下是需要使用的jar] 包括web.xm

2. 配置services-config.xml中channels标签中的内容:

false

true
4

其中, http://localhost:8080/DepartmentManagement/ 是该Web工程的地址 [可在web-content下建立一空index.html, 运行后查看地址便可]

3. 编写Java类, 并配置remoting-config.xml文件的<service>标签下, 增加服务, 如下:

com.insprise.guoliang.DepartmentManagement

3. Flex端建立工程

1. 建立 Flex与Java通信载体RemoteObject

为方便在整个工程中使用, 可建立一个Singleton – 关于AS中的Singleton可见: [...]

JDBC中Preparedstatement使用小结 及JDBC插入数据后获得Last insert ID

编写SQL语句, 尤其是要插入多个Filed时, 是一件非常BT的事情, 至少让我很不爽, 使用preparedstatement可以使代码变得更优雅一些, 虽然会有些长, 但会更条理, 而且preparedstatement更高于SQL语句 – 相对来说不太容易随着数据库版本改变而变动. 另外preparedstatement效率更高, 安全性更好

下面是恐怖的SQL:

Statement statement = (Statement) conn.createStatement();
String sql = “INSERT INTO `DEP`.`employee` ” +
“( `name` , `age` , `address` , `isMale` , `level` , `Department_ID` ) ” +
“VALUES (” +
“‘” + emp.getName() + “‘, ” +
emp.getAge() + “, ” +
JdbcUtilities.getSqlForString(emp.getAddress()) + “, ” +
emp.getIsMale() [...]

JDBC Transaction

默认下JDBC是Auto-commit的. 但在必要情况下, 我们需要手动控制事务, 此时:

con.setAutoCommit(false); //关闭自动Commit
PreparedStatement updateSales = con.prepareStatement(
"UPDATE COFFEES SET SALES = ? WHERE COF_NAME LIKE ?");
updateSales.setInt(1, 50);
updateSales.setString(2, "Colombian");
updateSales.executeUpdate();//执行Update Sales操作
PreparedStatement updateTotal = con.prepareStatement(
"UPDATE COFFEES SET TOTAL = TOTAL + ? WHERE COF_NAME LIKE ?");
updateTotal.setInt(1, 50);
updateTotal.setString(2, "Colombian");
updateTotal.executeUpdate();//执行Update Total操作, 注意, 此二者必须同时执行成功 或同时失败.
con.commit(); //commit以上两个操作, 同时成功或失败
con.setAutoCommit(true); //将AutoCommit恢复为true

近日Java/Flex 编程小结,Log, Trace, toString, EventListener, weakreference, JDBC,ListCollectionView

1. Flex中的Trace, Java/Flex中的log, 并不能代表其真实行为.

2. 务必牢记重写toString方法

3. Flex: 在跨越幅度较大, 设计Obj较多时, 使用weakreference的 Event Listener

4. 关于weakreference, 相对普通reference来说, weakreference像一个棉线, 牵着Obj – 但不妨碍garage Collection, 而普通reference则像铁链一样牢牢绑着obj, 会阻止进行garage Collection. 如果一个Object只有weak reference指向他, 则基本可以视为已经被garage Collection,

5. 可以在每个Class中加入一个Object_ID Filed, 在构造函数中使用randomNumber填充 – 便于分辨对象

6. JDBC 的 traction不是线程安全的

7. 谨慎使用ArrayCollection, Array的sort, filter功能 – 因为这会打乱其自身. 在使用其作为DataProvider时, 应使用ListCollectionView, 这样在进行操作时则其本身不会有任何改变