JAVA通用Dao接口和hibernate的具体实现
基于泛型的通用Dao接口:(重要是在应用hibernate或JPA时运用)
package com.qiujy.dao;
import java.io.Serializable;
import java.util.List;
/**
* 基于泛型的通用Dao接口
*/
public interface GenericDao {
void create(T entity);
void delete(T entity);
void update(T entity);
T findById(Serializable id);
List findAll();
List findList(int pageNo, int pageSize);
int getCountOfAll();
}
hibernate对此泛型Dao接口的运用:
package com.qiujy.dao.hibernate;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.List;
import org.hibernate.criterion.Projections;
import com.qiujy.common.HibernateUtil;
import com.qiujy.dao.GenericDao;
/**
* Hibernate对泛型通用Dao接口的兑现
*/
public class GenericHibernateDaoImpl implements GenericDao {
private Class clazz;
@SuppressWarnings("unchecked")
public GenericHibernateDaoImpl() {
//透过反照获取T的部类信息范例
this.clazz = (Class)((ParameterizedType)this.getClass().getGenericSuperclass())
.getActualTypeArguments()[零];
}
public void create(T entity) {
HibernateUtil.getSession().save(entity);
}
public void delete(T entity) {
HibernateUtil.getSession().delete(entity);
}
@SuppressWarnings("unchecked")
public void update(T entity) {
//HibernateUtil.getSession().saveOrUpdate(entity);
entity = (T) HibernateUtil.getSession().merge(entity);
}
@SuppressWarnings("unchecked")
public List findAll() {
return HibernateUtil.getSession().createCriteria(clazz).list();
}
@SuppressWarnings("unchecked")
public List findList(int pageNo, int pageSize) {
return HibernateUtil.getSession().createCriteria(clazz)
.setFirstResult((pageNo - 一) * pageSize)
.setMaxResults(pageSize)
.list();
}
public int getCoun
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
inner class和outer class之间的reflection应用。
package com.gaoqian.reflection;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
class IncludeInn ......
在北京呆了一个月多了,为了生存,笔记本电脑也贱卖了,不知道工作这么难找。
一个正经的面试也没有。
我从07年毕业已经浪费2年时间了,我愿意用半年的0薪酬来换取我入行开发;
希望北京有公司提供让我实现自我价值的平台。
如果您对我的能力有疑问,沟通可以了解 ......
霍纳规则多项式计算如果使用朴素的多项式求值,时间复杂度为O(n*n),而是用了霍纳规则可以使用递归或者迭代来实现,时间复杂度是O(n),下面是源代码:
/*
* 实现霍纳规则的多项式计算时间复杂度为O(N)
*/
public class HuonaRule {
public static void main(String args[])
{
double data[]=new double[]{1.0,2, ......