SSH中继承HibernateDaoSupport 的通用Dao
来源:互联网 发布:人工智能剧情介绍 编辑:程序博客网 时间:2024/05/29 08:43
package dao.impl;
2011-01-07
import java.sql.SQLException;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.Example;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class BaseDao extends HibernateDaoSupport {
@SuppressWarnings("unchecked")//去掉黄色警告
// 1.获取 对象
public Object get(Class clz, java.io.Serializable id) {
return super.getHibernateTemplate().get(clz, id);
}
// 2. 添加对象
public void save(Object item) {
super.getHibernateTemplate().save(item);
}
// =============3.删除,不用实例化,把主键传进来=============
public void delete(Class clz, java.io.Serializable id) {
super.getHibernateTemplate().delete(
super.getHibernateTemplate().get(clz, id));
}
//================3.3删除 直接传进对象 ,必须先实例化=============
public void delete(Object entity) {
super.getHibernateTemplate().delete(entity);
}
// 4.修改
public void update(Object entity) {
super.getHibernateTemplate().update(entity);
}
// 5.Hql 查询 并控制分页startIndex从第一条开始,pageSize每次查询的长度
public List Query(final String hql, final int startIndex,final int pageSize) {
return super.getHibernateTemplate().find(hql);
/*return super.getHibernateTemplate().executeFind(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
org.hibernate.Query query = session.createQuery(hql);
query.setFirstResult(startIndex);// 第几条 开始
query.setMaxResults(pageSize);// 查询的条数
return query.list();// 返回集合
}
});*/
}
// 6. 查询某个表的总条数
public Integer getTotalCount(Object entity) {
Session session = super.getSession();
String hqlString = "select count(*) from " + entity;// 拼接查询
System.out.println("查询语句:"+hqlString);
org.hibernate.Query query = session.createQuery(hqlString);
Long numLong=(Long) query.uniqueResult();// 返回条数
String numString=numLong+"";//不能一步帮Long转为整形
session .close();
return Integer.parseInt(numString);
// -以为每次查询都是一个整数值,uniqueResult()获取唯一的查询结果
}
// 7. 根据 对象 查询 Search(PetInfo.class,new PetInfo());
// newPetInfo()得到表的所有信息,放某个已经实例化好的 对象并保护值时就会取到的是单个对象
public List Search(final Class clz, final Object connection,
final int startIndex, final int pageSize) {
return super.getHibernateTemplate().executeFind(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Criteria criteria = session.createCriteria(clz).add(
Example.create(connection));
criteria.setFirstResult(startIndex);// 第几条 开始
criteria.setMaxResults(pageSize);// 查询的条数
return criteria.list();
}
});
}
//8懒加载
public void initialize(Object entity) {
super.getHibernateTemplate().initialize(entity);
}
public static void main(String[] args) {
ApplicationContext context = new FileSystemXmlApplicationContext(
"/WebRoot/WEB-INF/applicationContext.xml");// 初始化
BaseDao dao = (BaseDao) context.getBean("baseDao");
List list = dao.Query("from Psxm", 0, 100);
if (list != null) {
System.out.println(list.size());
//System.out.println(list.get(0));
} else {
System.out.println("空");
}
}}
- SSH中继承HibernateDaoSupport 的通用Dao
- ssh中dao继承HibernateDaoSupport类实现模板操作
- 关于ssh为什么要在DAO层实现类中继承HibernateDaoSupport的原因
- 继承了HibernateDaoSupport的DAO
- SSH中daoImpl类继承HibernateDaoSupport的用法
- SSH的一个BaseDao继承HibernateDaoSupport(一)
- SSH的一个BaseDao继承HibernateDaoSupport(二)
- 根据spring 提供的HibernateDaoSupport总结一个通用Dao
- 关于DAO层的sessionFactory注入和是否继承HibernateDAOSupport
- SSH通用DAO
- SSH之继承HibernateDaoSupport对数据库的操作和不继承HibernateDaoSupport对数据库的操作的方法
- 解决SSh中公共Dao使用泛型且Dao层无其他Dao,Service直接继承公共Dao,部署到tomcat可能会出现的错误。
- 继承HibernateDaoSupport类的 applicationContext.xml中bean的写法
- 基于注解ssh的通用dao的crud
- 基于SSH编写通用的DAO、Service、Action
- 基于SSH编写通用的DAO、Service、Action实现
- SSH用通用dao更新出现的问题
- 继承 HibernateDaoSupport 的getSession 问题
- 截取被遮住的内容
- 对管理的一点触发
- HTTP协议的几个重要概念
- 什么叫有功功率、无功功率和视在功率?三者单位是什么?三者关系如何确定?
- Android开发之旅: Intents和Intent Filters(理论部分)
- SSH中继承HibernateDaoSupport 的通用Dao
- 新手新年新气象
- 对性能测试的一些理解
- ARP绑定MAC地址
- linux 下查找 包含特定内容的文件 或包含特定文件名的文件
- C++中menset用法
- 超文本传输协议-HTTP
- main方法中同时加载多个Spring文件
- 放电线圈