接下来是接口“ListDAO.java”,注意,按照规范,暴露给Flex调用的不能包含以下保留的方法名:
disconnect() getOperation() hasOwnProperty() initialized() isPrototypeOf() logout() propertyIsEnumerable() setCredentials() setPropertyIsEnumerable() setRemoteCredentials() toString() valueOf() |
如果你不小心用到了,可以参考BlazeDS官方文档“RemoteObject component”章节,看如何解决。getData()方法是供Flex端调用的,传入参数是Flex构造的FlexGroup对象实例:
package org.rosenjiang.flex;
import java.util.List;
/** * DAO Interface * @author rosen jiang * @since 2009/06/21 * */ public interface ListDAO {
/** * . */ public List<FlexGroup> getData(FlexGroup fg); } |
然后是实现类“ListDAOImpl.java”,该类利用了JdbcDaoSupport的模板方法来处理JDBC操作:
package org.rosenjiang.flex;
import java.sql.ResultSet; import java.sql.SQLException; import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.support.JdbcDaoSupport;
/** * DAO Impl * @author rosen jiang * @since 2009/06/21 * */ public class ListDAOImpl extends JdbcDaoSupport implements ListDAO {
/** * . */ public List<FlexGroup> getData(FlexGroup fg){ //test properties System.out.println(fg.getGroupName()); System.out.println(fg.getMember1()); System.out.println(fg.getMember2()); System.out.println(fg.getMember3()); System.out.println(fg.getMember4()); System.out.println(fg.getMember5()); //Jdbc Template JdbcTemplate jt = this.getJdbcTemplate(); List<FlexGroup> list = jt.query("select * from flex_group", new RowMapper() { public FlexGroup mapRow(ResultSet rs, int rowNum) throws SQLException { FlexGroup fg = new FlexGroup(); fg.setGroupName(rs.getString("group_name")); fg.setMember1(rs.getString("member1")); fg.setMember2(rs.getString("member2")); fg.setMember3(rs.getString("member3")); fg.setMember4(rs.getString("member4")); fg.setMember5(rs.getString("member5")); return fg; } }); return list; } } |