通用的DAO接口:
package org.dave.base.dao;
import java.util.List;
public interface BaseDAO {
public void save(Object entity);
public void delete(Object entity);
public Object findById(String id);
public List findAll();
public List findByExample(Object exampleEntity);
public List findByProperty(String field, Object value);
public List findByProperty(String field, Object minValue, Object maxValue);
public List findByLinkProperty(String field, Object value);
public Object merge(Object entity);
public void attachDirty(Object entity);
public void attachClean(Object entity);
}
公共的DAO适配器:
package org.dave.base.dao.adapter;
import java.util.List;
import org.dave.base.dao.BaseDAO;
import org.hibernate.LockMode;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public abstract class BaseDAOAdapter extends HibernateDaoSupport implements BaseDAO {
protected BaseDAOAdapter() {
}
public void save(Object entity) {
getHibernateTemplate().saveOrUpdate(entity);
}
public void delete(Object entity) {
getHibernateTemplate().delete(entity);
}
public List findAll(String entityName) {
String queryString = "from " + entityName;
return getHibernateTemplate().find(queryString);
}
public Object findById(String entityName, String id) {
return getHibernateTemplate().get(entityName, id);
}
public List findByProperty(String entityName, String field, Object value) {
String queryString = "from " + entityName + " as model where model." + field + "= ?";
return getHibernateTemplate().find(queryString, value);
}
public List findByProperty(String entityName, String field, Object minValue, Object maxValue) {
String queryString = "from " + entityName + " as model where model." + field + ">? and model." + field + "<?";
String[] values = { minValue, maxValue };
return getHibernateTemplate().find(queryString, values);
}
public List findByProperty(String entityName, String field, String value) {
String queryString = "from " + entityName + " as model where model." + field + "link '%" + value + "%'";
return getHibernateTemplate().find(queryString);
}
public List findByExample(Object exampleEntity) {
return getHibernateTemplate().findByExample(exampleEntity);
}
public Object merge(Object entity) {
return getHibernateTemplate().merge(entity);
}
public void attachDirty(Object entity) {
getHibernateTemplate().saveOrUpdate(entity);
}
public void attachClean(Object entity) {
getHibernateTemplate().lock(entity, LockMode.NONE);
}
}
例子:
2.DAO接口:
package org.dave.user.dao;
import java.util.List;
import org.dave.base.dao.BaseDAO;
public interface UserDAO extends BaseDAO {
public List findByUsername(String username);
public List findByUserpass(String userpass);
}
3.DAO类:
package org.dave.user.dao.impl;
import java.util.List;
import org.dave.base.dao.adapter.BaseDAOAdapter;
import org.dave.user.dao.UserDAO;
public class UserDAOImpl extends BaseDAOAdapter implements UserDAO {
public static final String USER = "org.dave.user.model.User";
public static final String USERNAME = "username";
public static final String USERPASS = "userpass";
public List findAll() {
return super.findAll(USER);
}
public Object findById(String id) {
return super.findById(USER, id);
}
public List findByProperty(String field, Object value) {
return super.findByProperty(USER, field, value);
}
public List findByProperty(String field, Object minValue, Object maxValue) {
return super.findByProperty(USER, field, minValue, maxValue);
}
public List findByLinkProperty(String field, String value) {
return super.findByProperty(USER, field, value);
}
public List findByUsername(String username) {
return this.findByProperty(USERNAME, username);
}
public List findByUserpass(String userpass) {
return this.findByProperty(USERPASS, userpass);
}
}
- 大小: 158.9 KB
分享到:
相关推荐
spring整合hibernate实现事务处理 1.spring整合hibernate实现事务处理-注解方式 2.spring整合hibernate实现事务处理-XML方式
ssh整合,针对spring整合hibernate代码,示例代码,教程。
Spring整合hibernate(2)之基于HibernateTemplate的整合,jar需要自己添加!
Spring整合Hibernate的所有jar包,辛苦整理两个小时,给大家分享出来。 一共27个包
spring集成hibernate通用dao,泛型,server都可以调用
Spring+hibernate整合源代码 结束Sping+hibernate 的使用方法 包括演示示例
spring-hibernate.jar
spring mvc + spring + hibernate 全注解整合开发视频教程 11
spring与hibernate的整合 spring事务的配置
spring整合hibernate所用相关jar包,适合初学者
这是使用spring整合hibernate、struts时所要用到的核心jar包,洗完对大家有帮助
Spring框架整合Hibernate框架,为大家提供一个学习案例.
spring整合hibernate的所需jar包,很全的!
Spring3.3与Hibernate2.1整合
Spring整合Hibernate配置测试示例
Spring与hibernate 整合 简单示例 Spring与hibernate 整合 简单示例
Struts2 Spring3 Hibernate 注解功能 DAO 泛型 通用分页
12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...
Spring4整合Hibernate4实现用户购买图书和结账等操作,整合主要实现用IoC容器来管理Hibernate的SessionFactory实例,并使Hibernate使用Spring所提供的声明式事务……
spring_hibernate整合实例 spring_hibernate整合实例