4.5. 建立數據層: IUsersDAO.java 接口和 UsersDAOImpl.java 類,業務層:IUsersBusiness.java接口和UsersBusinessImpl.java類。java
IUsesDAO.java 內容以下:程序員
package com.zlk.dao;spring
import com.zlk.pojo.Users;架構
public interface IUsersDao {網站
/**this
* 檢測用戶名是否存在spa
*/hibernate
public Users getUserByName(String username);orm
/**blog
* 判斷用戶名和密碼是否存在
*/
public Users getUser(String username,String password);
/**
* 添加用戶
*/
public boolean saveUser(Users users);
}
UsersDAOImpl.java 內容以下:
package com.zlk.dao.impl;
import java.util.List;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.zlk.dao.IUsersDao;
import com.zlk.pojo.Users;
public class UsersDaoImpl extends HibernateDaoSupport implements IUsersDao {
public Users getUserByName(String username) {
// TODO Auto-generated method stub
Users users = null;
try {
String hql = "from Users as u where u.username = ?";
List list = this.getHibernateTemplate().find(hql,username);
if(list!=null && list.size()>0){
users = (Users)list.get(0);
}
} catch (DataAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return users;
}
public Users getUser(String username, String password) {
// TODO Auto-generated method stub
Users users = null;
try {
String hql = "from Users as u where u.username = ? and u.password = ?";
List list = this.getHibernateTemplate().find(hql,new Object[]{username,password});
if(list!=null && list.size()>0){
users = (Users)list.get(0);
}
} catch (DataAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return users;
}
public boolean saveUser(Users users) {
// TODO Auto-generated method stub
boolean flag = false;
try {
this.getHibernateTemplate().save(users);
flag = true;
} catch (DataAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
}
注意:
此處的HibernateDaoSupport 的路徑可能有多個(可能導入了許多其它的包),注意此處的父類
爲org.springframework.orm.hibernate3.support.HibernateDaoSupport
而不是org.springframework.orm.hibernate.support.HibernateDaoSupport