JAVA泛型实例
2008-12-13 16:29
309 查看
JAVA中泛型的一个实例(DAO)
package com.fx.dao;
import java.io.Serializable;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.fx.comm.UtilHQLString;
import com.fx.dao.Imp.DAOImpl;
public class DAO<T> extends HibernateDaoSupport implements DAOImpl<T> {
SessionFactory sessionFactory;
private Class<T> persistent = null;
public Class<T> getPersistent() {
return persistent;
}
public void setPersistent(Class<T> persistent) {
this.persistent = persistent;
}
public DAO() {
}
public DAO(Class<T> persistent) {
this.persistent = persistent;
}
/**
*
* Description 根据ID和类型查找实体信息
*
* @param clazz
* 实体类型
* @param id
* 实体ID
* @return 实体
* @throws Exception
* DAO执行出错时抛出
*/
public T findById(Class<T> clazz, String id) throws Exception {
StringBuffer bf = new StringBuffer();
try {
bf.append(UtilHQLString.getNowTimeSeconde());
bf.append("/n你调用的DAO查询方法:").append("findById/n");
log.info(bf.toString());
return (T) getHibernateTemplate().get(clazz,Integer.parseInt(id));
} catch (RuntimeException e) {
log.error(e.getMessage());
throw new Exception(UtilHQLString.getNowTimeSeconde()
+ "按ID查找实体时数据库访问异常" + e.getMessage());
}
}
/**
* 更新一组实体对象
*/
public void update(List<T> entity) throws Exception {
for(int i=0;i<entity.size();i++){
getHibernateTemplate().update(entity.get(i));
}
}
/**
* 删除一组实体对象
*/
public void delete(Class<T> clazz, Long[] args) throws Exception {
for(int i=0;i<args.length;i++){
if(args[i]>0){
log.debug("删除对象"+args[i]);
getHibernateTemplate().delete(getHibernateTemplate().load(clazz,args[i]));
}
}
}
}
package com.fx.dao;
import java.io.Serializable;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.fx.comm.UtilHQLString;
import com.fx.dao.Imp.DAOImpl;
public class DAO<T> extends HibernateDaoSupport implements DAOImpl<T> {
SessionFactory sessionFactory;
private Class<T> persistent = null;
public Class<T> getPersistent() {
return persistent;
}
public void setPersistent(Class<T> persistent) {
this.persistent = persistent;
}
public DAO() {
}
public DAO(Class<T> persistent) {
this.persistent = persistent;
}
/**
*
* Description 根据ID和类型查找实体信息
*
* @param clazz
* 实体类型
* @param id
* 实体ID
* @return 实体
* @throws Exception
* DAO执行出错时抛出
*/
public T findById(Class<T> clazz, String id) throws Exception {
StringBuffer bf = new StringBuffer();
try {
bf.append(UtilHQLString.getNowTimeSeconde());
bf.append("/n你调用的DAO查询方法:").append("findById/n");
log.info(bf.toString());
return (T) getHibernateTemplate().get(clazz,Integer.parseInt(id));
} catch (RuntimeException e) {
log.error(e.getMessage());
throw new Exception(UtilHQLString.getNowTimeSeconde()
+ "按ID查找实体时数据库访问异常" + e.getMessage());
}
}
/**
* 更新一组实体对象
*/
public void update(List<T> entity) throws Exception {
for(int i=0;i<entity.size();i++){
getHibernateTemplate().update(entity.get(i));
}
}
/**
* 删除一组实体对象
*/
public void delete(Class<T> clazz, Long[] args) throws Exception {
for(int i=0;i<args.length;i++){
if(args[i]>0){
log.debug("删除对象"+args[i]);
getHibernateTemplate().delete(getHibernateTemplate().load(clazz,args[i]));
}
}
}
}
相关文章推荐
- java泛型介绍及实例
- Java泛型详解:<T>和Class<T>的使用。泛型类,泛型方法的详细使用实例
- 获取Spring容器中Bean实例的工具类(Java泛型方法实现)
- 获取Spring容器中Bean实例的工具类(Java泛型方法实现)
- Java泛型:<? extends XXXX> 中的? 和 extends 的理解和使用实例
- java泛型使用实例
- 获取Spring容器中Bean实例的工具类(Java泛型方法实现)
- Java泛型实例
- java泛型程序设计——泛型类的静态上下文中类型变量无效+不能抛出或捕获泛型类的实例
- Java泛型实例
- 获取Spring容器中Bean实例的工具类(Java泛型方法实现)
- java泛型应用实例 - 自定义泛型类,方法
- Java泛型实例之接口设计——掌握标示接口以及如何设计泛型类
- Java基础学习总结(82)——Java泛型实例教程
- Java泛型映射不同的值类型详解及实例代码
- Java泛型定义与用法实例详解
- Java泛型接口、迭代器与反射机制结合实例,和泛型方法的使用原则
- Java泛型---泛型方法和泛型类介绍及实例
- java泛型应用实例 - 自定义泛型类,方法
- Java基础学习总结(82)——Java泛型实例教程