package com.web.base;
import java.lang.reflect.ParameterizedType;
import java.util.Collections;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
@SuppressWarnings("unchecked")
public class BaseDaoImpl<T> implements BaseDao<T> {
@PersistenceContext
private EntityManager em;
private Class<T> clazz;// 类对象
public BaseDaoImpl() {
// 通过发射获取T的真实类型
// 通过反射获取当前类表示的实体的直接父类的Type
ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
// 返回参数数组
this.clazz = (Class<T>) pt.getActualTypeArguments()[0];
}
@Override
public void save(T entity) {
em.persist(entity);
}
@Override
public void delete(String id) {
em.remove(getById(id));
}
@Override
public void update(T entity) {
em.merge(entity);
}
@Override
public T getById(String id) {
if (id == null) {
return null;
}
return em.find(clazz, id);
}
@Override
public List<T> getByIds(String[] ids) {
if (ids == null || ids.length == 0) {
return Collections.EMPTY_LIST;
}
return em.createQuery("from " + clazz.getSimpleName() + " where id in(ids)").setParameter("ids", ids).getResultList();
}
@Override
public List<T> findAll() {
return em.createQuery("from " + clazz.getSimpleName()).getResultList();
}
@Override
/**
* 批处理
*/
public void batchEntityByHQL(String hql, Object... objects) {
Query query = em.createQuery(hql);
for (int i = 0; i < objects.length; i++) {
query.setParameter(i, objects[i]);
}
query.executeUpdate();
}
@Override
public List<T> batchResultsByHQL(String hql, Object... objects) {
Query query = em.createQuery(hql);
for (int i = 0; i < objects.length; i++) {
query.setParameter(i, objects[i]);
}
return query.getResultList();
}
@Override
public T batchUniqueResultByHQL(String hql, Object... objects) {
Query query = em.createQuery(hql);
for (int i = 0; i < objects.length; i++) {
query.setParameter(i, objects[i]);
}
return (T) query.getSingleResult();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
SSJ SpringMVC3+JPA2.0(Hibernate4)+FreeMarker
共97个文件
jar:48个
class:11个
java:11个
4星 · 超过85%的资源 需积分: 10 30 下载量 78 浏览量
2014-12-20
23:34:53
上传
评论
收藏 16.17MB RAR 举报
温馨提示
调试@Test报错javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode; 部署正常,求解决方案。谢谢
资源推荐
资源详情
资源评论
收起资源包目录
MVC.rar (97个子文件)
MVC
.project 2KB
test
test
TestDataSource.java 517B
.settings
.jsdtscope 500B
org.eclipse.wst.common.component 599B
org.eclipse.jdt.core.prefs 395B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
.mymetadata 282B
WebRoot
WEB-INF
view
.tmp_success.ftl.58851~ 158B
success.ftl 158B
saveUI.ftl 344B
web.xml 3KB
jsp
success.jsp 280B
saveUI.jsp 564B
lib
c3p0-0.9.2.1.jar 414KB
standard-1.1.2.jar 384KB
org.springframework.context-3.1.1.RELEASE.jar 812KB
org.springframework.core-3.1.1.RELEASE.jar 439KB
org.springframework.expression-3.1.1.RELEASE.jar 172KB
org.springframework.instrument-3.1.1.RELEASE.jar 7KB
hibernate-jpa-2.1-api-1.0.0.Final.jar 111KB
org.springframework.orm-3.1.1.RELEASE.jar 370KB
org.springframework.beans-3.1.1.RELEASE.jar 576KB
junit-4.9.jar 243KB
jstl-1.2.jar 405KB
org.springframework.web.servlet-3.1.1.RELEASE.jar 560KB
org.springframework.instrument.tomcat-3.1.1.RELEASE.jar 11KB
org.springframework.web-3.1.1.RELEASE.jar 532KB
freemarker-2.3.19.jar 909KB
slf4j-log4j12-1.6.1.jar 10KB
hibernate-commons-annotations-4.0.5.Final.jar 74KB
org.springframework.jdbc-3.1.1.RELEASE.jar 395KB
jboss-transaction-api_1.2_spec-1.0.0.Final.jar 27KB
log4j-1.2.17.jar 478KB
org.springframework.web.portlet-3.1.1.RELEASE.jar 186KB
mchange-commons-java-0.2.3.4.jar 568KB
hibernate-c3p0-4.3.7.Final.jar 39KB
javassist-3.18.1-GA.jar 697KB
antlr-2.7.7.jar 435KB
org.springframework.asm-3.1.1.RELEASE.jar 52KB
org.springframework.context.support-3.1.1.RELEASE.jar 105KB
hibernate-validator-4.2.0.Final.jar 358KB
hibernate-core-4.3.7.Final.jar 5.03MB
dom4j-1.6.1.jar 307KB
org.hamcrest.core_1.1.0.v20090501071000.jar 27KB
org.springframework.aspects-3.1.1.RELEASE.jar 49KB
org.springframework.aop-3.1.1.RELEASE.jar 324KB
aspectjweaver-1.6.10.jar 1.6MB
jboss-logging-3.1.3.GA.jar 56KB
aspectjrt-1.6.10.jar 114KB
org.springframework.test-3.1.1.RELEASE.jar 224KB
slf4j-api-1.6.1.jar 25KB
org.springframework.transaction-3.1.1.RELEASE.jar 241KB
hibernate-entitymanager-4.3.7.Final.jar 632KB
aopalliance-1.0.jar 4KB
org.springframework.web.struts-3.1.1.RELEASE.jar 31KB
commons-logging-1.1.1.jar 59KB
javax.annotation-3.1.2.2.jar 22KB
jboss-logging-annotations-1.2.0.Beta1.jar 11KB
org.springframework.jms-3.1.1.RELEASE.jar 195KB
jandex-1.1.0.Final.jar 75KB
org.springframework.oxm-3.1.1.RELEASE.jar 71KB
classes
test
TestDataSource.class 1KB
log4j.properties 2KB
META-INF
persistence.xml 971B
springmvc.xml 3KB
com
web
dao
impl
UserDaoImpl.class 458B
domain
User.class 1KB
controller
UserAction.class 1KB
service
UserService.class 241B
impl
UserServiceImpl.class 893B
base
BaseService.class 952B
BaseAction.class 405B
BaseServiceImpl.class 3KB
BaseDao.class 944B
BaseDaoImpl.class 4KB
jdbc.properties 422B
applicationContext.xml 4KB
index.jsp 145B
META-INF
MANIFEST.MF 39B
.myeclipse
src
META-INF
persistence.xml 971B
com
web
dao
impl
UserDaoImpl.java 219B
domain
User.java 755B
controller
UserAction.java 599B
service
UserService.java 156B
impl
UserServiceImpl.java 438B
base
BaseAction.java 180B
BaseServiceImpl.java 2KB
BaseDaoImpl.java 2KB
BaseDao.java 488B
BaseService.java 492B
config
log4j.properties 2KB
springmvc.xml 3KB
jdbc.properties 422B
applicationContext.xml 4KB
.classpath 617B
共 97 条
- 1
资源评论
- cymgo2015-05-24框架的整体架构很不错哦,可以好好的学习学习啊
l631068264
- 粉丝: 9
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功