67,512
社区成员
发帖
与我相关
我的任务
分享
public interface BaseDAO {
public void save(Object obj);
public void update(Object obj);
public void saveOrUpdate(Object obj);
public void delete(Object obj) ;
public void executeHQL(String hql,Object obj);
public Object findById(Class clazz,Integer id);
/**
*
* @param shortClassName entity bean的类名,省去包名
* @param id
* @return
*/
public Object findById(String shortClassName,Integer id);
public List findAll(String shortClassName);
public List findByParam(String hql,Object obj);
public int calculateAmount(final Class clazz,final Map conditions);
/**
* 该方法应用于查询分页
*
* @param clazz 待查询的类
* @param conditions 条件组合
* @param orderType 排序方式
* @param orderField 按哪个属性进行排序
* @param start 开始位置
* @param pageSize 返回的页大小
* @return
*/
public List filter(final Class clazz,final Map conditions, final String orderType,final String orderField,final int start,final int pageSize);
}
public interface UserDAO extends BaseDAO{
public static final String FIND_USER_BY_LOGIN_NAME = " from User u where u.loginName=?";
public static final String DEL_USER_BY_ID = " delete from User u where u.id=?";
public void addUser(User user) ;
public void updateUser(User user) ;
public void delUser(User user) ;
public void delUserById(final int userid);
public User findUserById(int id);
public User findUserByLoginName(String loginName);
}
public class UserDAOHibernate extends BaseDAOHibernate implements UserDAO{
public void addUser(User user) {
save(user);
}
public void updateUser(User user) {
update(user);
}
public void delUser(User user) {
delete(user);
}
public void delUserById(final int userid){
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session s) throws HibernateException, SQLException {
Query query = s.createQuery(DEL_USER_BY_ID);
query.setInteger(0, userid);
query.executeUpdate();
return null;
}
});
}
public User findUserById(int id){
return (User)findById("User",id);
}
public User findUserByLoginName(String loginName){
List list = this.getHibernateTemplate().find(FIND_USER_BY_LOGIN_NAME, loginName);
if (list.size()>0)
return (User)list.get(0);
return null;
}
}
public interface IBaseHibernateDAO {
public Session getSession();
}
public class BaseHibernateDAO implements IBaseHibernateDAO {
public Session getSession() {
return HibernateSessionFactory.getSession();
}
}
public interface UserinfoDAO {
public void saveUser(Userinfo user);
public void updateUserinfo(Userinfo user);
public void deleteUserinfoById(String userid);
public Userinfo findUserinfoById(String uid);
public List userinfoList(String hql, Object[] obj);
}
public class UserinfoDAOImpl extends BaseHibernateDAO implements UserinfoDAO {
//省略crud
public List userinfoList(String hql, Object[] obj) {
List userinfoList;
try {
userinfoList = getSession().createQuery(hql)
.setParameter(0, obj[0]).setParameter(1, obj[1])
.setParameter(2, obj[2]).list();
} catch (RuntimeException re) {
log.error("UserinfoDAOImpl userinfoSize failed", re);
throw re;
}
return userinfoList;
}
}
public interface UserinfoServices {
public Userinfo isLogin(String userid, String password, Byte usertype);
public boolean updatePassword(String oldPw, String newPw);
}
public class UserinfoServicesImpl implements UserinfoServices {
private static final Log log = LogFactory
.getLog(UserinfoServicesImpl.class);
public Userinfo isLogin(String userid, String password, Byte usertype) {
UserinfoDAO userDao = new UserinfoDAOImpl();
StringBuffer sb = new StringBuffer();
Object[] obj = new Object[3];
try {
sb
.append("from Userinfo uinfo where uinfo.userid = ? and uinfo.userpw = dbo.md5(?) and uinfo.usertype = ? ");
obj[0] = userid;
obj[1] = password;
obj[2] = usertype;
List userinfoList = userDao.userinfoList(sb.toString(), obj);
if (userinfoList.size() > 0)
return (Userinfo) userinfoList.get(0);
} catch (Exception e) {
log.error("UserinfoServicesImpl isLogin failed", e);
}
return null;
}
public boolean updatePassword(String oldPw, String newPw) {
// TODO Auto-generated method stub
return false;
}
}