精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-07-29
下面我简单穿插一个登陆小示例: 我简单说一下流程,用户通过页面输入用户名、密码,后台通过验证后,自动到数据库查询所有用户信息生成列表显示到界面上。 建立如图所示包结构 在model包里新建User.java代码如下: package com.zhjj.zhangben.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "USERS") public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "ID") private Integer id; // id @Column(name = "USERNAME") private String username; // 用户名 @Column(name = "PASSWORD") private String password; // 密码 public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
通过这个类可以自动生成Users表,然后新建UserDAOImpl.java类,新建方法 package com.zhjj.zhangben.dao.impl; import java.util.List; import org.hibernate.Query; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.zhjj.zhangben.dao.UserDAO; import com.zhjj.zhangben.model.User; public class UserDAOImpl extends HibernateDaoSupport implements UserDAO { public Long findUserNum(String name,String password){ String hql = "select count(*) from User where username = ? and password = ?"; Query queryObject = getSession().createQuery(hql); queryObject.setParameter(0, name); queryObject.setParameter(1, password); Long num = (Long)queryObject.uniqueResult(); return num; } @SuppressWarnings("unchecked") public List<User> findUsersList(){ String hql = "from User order by id asc"; Query queryObject = getSession().createQuery(hql); List<User> userList = queryObject.list(); return userList; } } 这里我简单的根据用户名、密码搜索数据库记录数,如果为0则表示用户不存在,否则表示用户名、密码正确,登陆成功。
方法findUsersList是查询所有用户并返回一个List。
接口类我就不贴代码了,若需要请参考最后的源码。
DAO在此算是OK了,然后新建UserServiceImpl.java package com.zhjj.zhangben.service.impl; import java.util.List; import org.springframework.flex.remoting.RemotingDestination; import com.zhjj.zhangben.dao.UserDAO; import com.zhjj.zhangben.model.User; import com.zhjj.zhangben.service.UserService; @RemotingDestination public class UserServiceImpl implements UserService { private UserDAO userDAO; public UserDAO getUserDAO() { return userDAO; } public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } public boolean userLogin(String name,String password){ if(userDAO.findUserNum(name,password) == 0){ return false; } return true; } public List<User> getUsersList(){ List<User> userList = userDAO.findUsersList(); return userList; } }
很简单吧。。。。。。说明一下getUsersList方法可以直接返回一个List,flex端能够解析
这里还有一点很重要,千万不要漏掉@RemotingDestination注释,这里的作用是代替flex远程对象,配置之后我们就可以在Flex直接使用这个Service里的方法了。
之前我们暴露BlazeDS remoting需要如下配置 <!– Expose the productService bean for BlazeDS remoting –> 或者 <flex:remoting-destination ref=“productService” /> 现在我们只需 @RemotingDestination annotation 标签 来代替,很方便吧。。。。。。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 2635 次