为什么这样设计Dao?
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;
}
}
BaseDAO 有什么用处?
不用BaseDAO 好像也可以啊
...全文
相关推荐
使用JDBC实现数据访问对象层(DAO)代码示例
主要介绍了使用JDBC实现数据访问对象层(DAO)代码示例,具有一定参考价值,需要的朋友可以了解下。
MVC+DAO设计模式下的设计流程详解
主要介绍了MVC+DAO设计模式下的设计流程详解,分别介绍了数据库设计、设计符合java bean标准的entity类、设计访问数据库的DAO接口等内容,具有一定参考价值,需要的朋友可以了解下。
DAO设计模式DAO设计模式
DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式
DAO模式设计
NULL 博文链接:https://jhaij.iteye.com/blog/272232
DAO设计模式 DAO 设计模式 JAVA设计模式
DAO设计模式 DAO 设计模式 JAVA设计模


