- 浏览: 360635 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zzy2011266:
以上是特殊情况, 正确的方式是打开windowsshowVi ...
Android 出现 Your project contains errors, please fix them 。。。。 -
小奶牛:
BFGFG[b][/b]
PHP计算字符串长度 -
小奶牛:
[b][/b]YTYTY
PHP计算字符串长度 -
yuankunliu:
这样处理ppt里边的文本框在图片中有边框,知道怎么去掉不请问? ...
java转换ppt为图片 -
vtrtbb:
哦,我试试
简单的JS分页代码
import java.io.Serializable; import java.util.List; import javax.persistence.Query; public interface IBaseDAO<T> { public T find(Class<T> clazz, Serializable id); public void persist(T t); public void save(T t); public void delete(T t); public Query createQuery(String jpql); public int getTotalCount(String jpql); public List<T> find(String jpql); public List<T> find(String jpql, Object param); public List<T> find(String jpql, Object... param); public void saveOrUpdate(T t); }
public class BaseDAOImpl<T extends BaseBean> implements IBaseDAO<T> { @PersistenceContext protected EntityManager em; public Query createQuery(String jpql) { return em.createQuery(jpql); } public void delete(T t) { em.remove(t); } public T find(Class<T> clazz, Serializable id) { return em.getReference(clazz, id); } @SuppressWarnings("unchecked") public List<T> find(String jpql, Object param) { return em.createQuery(jpql).setParameter(1, param).getResultList(); } @SuppressWarnings("unchecked") public List<T> find(String jpql, Object[] param) { Query query = em.createQuery(jpql); for (int i = 1; i <= param.length; i++) { query.setParameter(i, param[i - 1]); } return query.getResultList(); } @SuppressWarnings("unchecked") public List<T> find(String jpql) { return em.createQuery(jpql).getResultList(); } @SuppressWarnings("unchecked") public int getTotalCount(String jpql) { return ((Long) em.createQuery(jpql).getSingleResult()).intValue(); } public void persist(T t) { em.persist(t); } public void save(T t) { em.merge(t); } public void saveOrUpdate(T t) { em.merge(t); } public EntityManager getEntityManager() { return em; } @PersistenceContext public void setEntityManager(EntityManager entityManager) { this.em = entityManager; }
import java.io.Serializable; import java.util.List; import com.fengmanfei.blog.exception.BusinessException; public interface IBaseService<T> { public void create(T t) throws BusinessException; public void save(T t) throws BusinessException; public void delete(T t) throws BusinessException; public T find(Class<T> clazz, Serializable id); public int getTotalCount(String jpql); public List<T> find(String jpql); public List<T> find(String jpql, Object param); public List<T> find(String jpql, Object... param); }
@Transactional public class BaseServiceImpl<T extends BaseBean> implements IBaseService<T> { protected Log log = LogFactory.getLog(this.getClass()); protected IBaseDAO<T> baseDAO; public void create(T t) throws BusinessException { baseDAO.persist(t); } public void delete(T t) throws BusinessException { t.setDeleted(true); baseDAO.save(t); } public void save(T t) throws BusinessException { baseDAO.save(t); } public T find(Class<T> clazz, Serializable id) { T t = baseDAO.find(clazz, id); if (t.isDeleted()) { return null; } return t; } public List<T> find(String jpql, Object param) { return baseDAO.find(jpql, param); } public List<T> find(String jpql, Object... param) { return baseDAO.find(jpql, param); } public List<T> find(String jpql) { return baseDAO.find(jpql); } public int getTotalCount(String jpql) { return (Integer) baseDAO.createQuery(jpql).getSingleResult(); } public IBaseDAO<T> getBaseDAO() { return baseDAO; } public void setBaseDAO(IBaseDAO<T> baseDAO) { this.baseDAO = baseDAO; } }
再来看具体的功能,比如person的部分,
首先是person的接口:
import com.fengmanfei.blog.entity.Person; public interface IPersonService<T extends Person> extends IBaseService<T> { public T findPersonByAccount(String login); public T findPersonByAccountAndPassword(String login, String password); }
person的实现:
public class PersonServiceImpl<T extends Person> extends BaseServiceImpl<T> implements IPersonService<T> { public void create(T person) throws BusinessException { log.info(""); if (findPersonByAccount(person.getAccount()) != null) { throw new BusinessException("帐号 \"" + person.getAccount() + "\" 已经存在. "); } this.baseDAO.persist(person); } @SuppressWarnings("unchecked") public T findPersonByAccount(String account) { log.info(""); List<T> personList = this.baseDAO.find(" SELECT p FROM Person p " + " WHERE p.account = lower(?) AND p.deleted = false ", account .toLowerCase().trim()); if (personList.size() > 0) { return personList.get(0); } return null; } @SuppressWarnings("unchecked") public T findPersonByAccountAndPassword(String login, String password) { log.info(""); List<T> personList = this.baseDAO.find(" SELECT p FROM Person p " + " WHERE p.account = lower(?) " + " AND p.password = ? and p.deleted = false ", new String[] { login.toLowerCase().trim(), password }); if (personList.size() > 0) { return personList.get(0); } return null; }
发表评论
-
Maven运行Selenium报错org/w3c/dom/ElementTraversal
2017-06-21 17:11 724Maven运行Selenium报错org/w3c/dom/ ... -
logback日志按天滚动记录
2017-05-09 11:25 2396<?xml version="1.0&quo ... -
spring boot 中用Swagger2 构建API说明文档
2017-05-05 12:10 510maven: <dependency> ... -
SpringMVC测试框架Mock[转载]
2017-02-22 15:09 2757基于RESTful风格的SpringMVC的测试,我们 ... -
maven本地安装jar包
2016-07-22 17:32 488mvn install:install-file -Dfil ... -
java发消息MSMQ
2014-03-31 11:29 1383java发送消息给微软MSMQ的组件 -
maven导出依赖jar包到指定目录
2014-01-22 15:35 744项目建立后,导出依赖jar包到指定目录: mvn d ... -
hadoop执行hadoop namenode -format错误问题
2013-01-02 20:54 9214运行时遇到如下问题: Exception in thread ... -
sql 每个分类取N条数据例子
2012-12-30 09:43 5674取得分组TOP-N测试表与测试数据 CREATE TABLE ... -
effective java第一版系在
2012-12-17 09:16 776做个备注吧,以后又找不到了 -
多线程执行任务
2012-11-19 21:05 797只研究有用的,工作中的需求:要把多个任务分派给多个线程去执行, ... -
java代码构建线程池
2012-11-15 21:48 807在现代的操作系统中, ... -
BugFree说明
2012-08-06 11:55 785BugFree 说明 Fixed 已修复 ... -
android 阅读器分页读取字数
2012-06-05 12:33 3261// 本方法 分行又分页 public static ... -
linux更新系统时间
2012-01-11 10:23 1541检查是否安装过ntp rpm -aq | g ... -
jstl 一些函数用法
2011-11-29 09:44 789fn函数里面有很多好用的方法 <%@ taglib ... -
activeMq 简单的安全设置
2011-11-25 18:40 1169在conf 中找到 jetty.xml 文件 < ... -
activeMq收不到消息
2011-11-25 18:36 1129项目需要应用jms,在本地测试好的,到了服务器就后可以看 ... -
仿goolge验证码,自己没有试过
2011-10-13 14:55 1002仿goolge验证码,自己没有试过 -
Tomcat 配置数据源
2011-09-22 15:22 1000<Resource name="jdbc/ ...
相关推荐
在IT领域,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+jpa+hibernate框架整合"就是一个常见的解决方案。这个整合涉及到四个关键的技术栈:Spring框架、SpringMVC、JPA(Java Persistence API)...
在本项目中,Spring被用来整合其他技术,如Jersey、JPA和Hibernate,以实现一个完整的Web服务解决方案。 Jersey是Java RESTful Web Services(RESTful API)的实现,它基于JSR 311和JSR 339标准。通过使用Jersey,...
在现代Java Web开发中,"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA"是一个常见的架构组合,被广泛应用于构建企业级应用程序。这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心...
在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...
### JSF+Spring+JPA(Hibernate实现)的环境搭建 #### 一、概述 根据提供的文件信息,本文旨在深入探讨如何构建一个基于JSF、Spring 和 JPA(使用 Hibernate 实现)的技术栈。该技术栈被视为Struts2+Spring+...
这是整合SpringMVC+Spring+SpringDataJPA+Hibernate简单的实现登录的功能,用的是mysql数据库,这是一个web Project 如果你用的是JavaEE6那么你要注意bean-validator.jar和weld-osgi-bundle.jar与slf4j的jar包冲突。...
"Struts+Spring+Jpa(hibernate)整合"这个主题意味着我们要将这三个框架进行集成,以实现更强大的功能。在实际项目中,这种整合能够帮助开发者更好地管理业务逻辑、持久化数据以及处理用户请求。 1. **Struts**:...
标题“Spring + JPA + Hibernate配置”涉及到的是Java开发中常用的三个框架——Spring、Java Persistence API (JPA) 和Hibernate的集成与配置。这是一份关于如何将这些框架结合使用的教程或参考资料,可能包含了实现...
在IT行业中,构建高效、可扩展的Web应用是至关重要的,而JSF(JavaServer Faces)、Spring框架和JPA(Java Persistence API)结合Hibernate的整合使用,为开发人员提供了强大的工具集。这篇文档"JSF+Spring+JPA_...
这是jsf+spring2.5+jpa(hibernate)的jar包,很多人为了jsj环境而配置半天,在此提供jar包共享。注:除了ajax4jsf和tomahawk-1.1.3.jar,因为csdn只让我上传20mb,大家自己可以下一下自己试试。
**Spring MVC + JPA(Hibernate4) + Redis + ActiveMQ:构建高效、全面的Web应用** Spring MVC 是Spring框架的一部分,专门用于构建Web应用程序的模型-视图-控制器(MVC)架构。它提供了一个灵活的请求处理机制,...
在这个"Spring+SpringMVC+SpringData+JPA+Hibernate+Shiro"的组合中,我们涉及到了Spring生态系统的多个核心组件,以及两个重要的持久层技术和一个安全框架。下面将逐一详细介绍这些技术及其整合方式。 1. **Spring...
此外,教程可能还会涵盖事务管理的配置,以及如何使用Spring Data JPA进一步简化数据访问层的代码。 整合这三大框架,可以实现高效、灵活且易于维护的Java Web应用。通过注解,开发者可以减少XML配置,提高代码的...
NULL 博文链接:https://prowl.iteye.com/blog/519618
在本项目中,我们看到的是一个基于 Spring 4.2 版本的综合构架,结合了 Spring MVC、Spring Data 和 JPA,以及 Hibernate 的使用。这些技术的整合为构建高效、可维护的 web 应用提供了强大的支持。 1. **Spring 4.2...
在本项目中,"SpringMvc+Spring+JPA+Hibernate实现的增删改查.zip" 是一个使用Java技术栈开发的Web应用实例,主要涵盖了Spring MVC、Spring框架、JPA(Java Persistence API)以及Hibernate这四个核心组件。...
"spring3+springmvc+jpa+hibernate多数据源"是一个示例项目,它演示了如何在一个应用中集成Spring 3、Spring MVC、JPA 2.0以及Hibernate,以实现对多个数据源的支持。下面将详细介绍这些技术及其集成的关键点。 **...
在Spring中整合JPA或Hibernate,可以实现对数据库的便捷操作,无需编写大量的SQL代码。 整合Spring、SpringMVC和Hibernate,首先需要在项目中引入相关依赖,通常通过Maven或Gradle来管理。在pom.xml或build.gradle...