首页>代码>apache openjpa配置实例>/JPA2-openjpa/src/main/java/com/zyp/dao/impl/DaoImpl.java
package com.zyp.dao.impl;

import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import com.zyp.dao.IDao;

public class DaoImpl implements IDao {

	@PersistenceContext
	private EntityManager em;

	public void setEntityManager(EntityManager em) {
		this.em = em;
	}

	public <T> void add(T t) throws Exception {
		em.persist(t);
	}

	public <T> void delete(Class<T> clazz, int id) throws Exception {
		em.remove(em.getReference(clazz, id));
	}

	public <T> void update(T t) throws Exception {
		em.merge(t);
	}

	public <T> T get(Class<T> clazz, int id) throws Exception {
		return em.find(clazz, id);
	}

	public <T> List<T> getList(Class<T> clazz) throws Exception {
		String className = clazz.getSimpleName();
		Query query = em.createQuery("SELECT o FROM " + className + " o");
		List<T> list = query.getResultList();
		return list;
	}

	public <T> List<T> getList(Class<T> clazz, int start, int limit) throws Exception {
		String className = clazz.getSimpleName();
		Query query = em.createQuery("SELECT o FROM " + className + " o");
		query.setFirstResult(start).setMaxResults(limit);
		List<T> list = query.getResultList();
		return list;
	}

	public <T> List<T> getList(Class<T> clazz, String field, String keyword, int start, int limit) throws Exception {
		keyword = keyword.trim();
		String className = clazz.getSimpleName();
		Query query = em.createQuery("SELECT o FROM " + className + " o WHERE UPPER(o." + field + ") like UPPER('%" + keyword + "%')");
		query.setFirstResult(start).setMaxResults(limit);
		List<T> list = query.getResultList();
		return list;
	}
}
最近下载更多
wang518  LV1 2019年1月20日
最近浏览更多
flygrass  LV12 2023年12月7日
zmlzsw  LV8 2021年12月10日
1171120570  LV1 2020年12月18日
zuiwomengjiaren  LV11 2020年9月4日
zhengshuang  LV1 2020年5月31日
vpv123 2020年3月7日
暂无贡献等级
Jay1109  LV1 2019年12月11日
Lee9527  LV1 2019年9月12日
dd168168 2019年8月26日
暂无贡献等级
zxx521125  LV9 2019年8月26日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友