- 浏览: 207361 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (291)
- ERP (3)
- JSP/Servlet (13)
- DB (8)
- MongoDB (2)
- Python (3)
- Maven (8)
- GIT (1)
- Windows (8)
- Java (24)
- Informatica (2)
- PHP (1)
- Javascript (25)
- Tomcat (2)
- spring (13)
- HTML5 (11)
- Nginx (2)
- NodeJS (6)
- Linux (40)
- AngularJS (1)
- Android (3)
- Selenium (3)
- 理财 (6)
- 工作心得 (9)
- SQLServer (10)
- Hibernate/JPA (6)
- Bootstrap (1)
- C# (3)
- MySql (4)
- highchart (1)
- hadoop (5)
- ZooKeeper (2)
- Hbase (8)
- Avro (2)
- Hive (2)
- Flume (5)
- Kafka (11)
- Sqoop (3)
- Pig (1)
- Spark (1)
- Storm (2)
- Redis (1)
- Memcached (1)
- Dubbo (2)
- Phoenix (2)
最新评论
-
一尾金鱼:
可以作为查询手册了,页面布局也好~
JSP EL -
darkgost:
您好,我按照你的方法,在Service1.cs中添加如下代码: ...
C#Windows 服务制作安装删除. 用户注销后,程序继续运行
1. 添加依赖Jar文件。除了必要的spring和Hibernate依赖外,下面的jar必不可少, 否则会抛出异常“No Persistence provider for EntityManager named *”
2. spring-jpa-hibernate.xml
3. 在类路径下创建文件夹“META-INF”, 加入文件persistence.xml。 完整的路径是 classpath:META-INF/persistence.xml, 这是jpa的默认配置文件。
4. Entity对象
5.Dao文件
6. Service对象包含事务管理
7.web.xml
8.单元测试
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>4.2.8.Final</version> </dependency>
2. spring-jpa-hibernate.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <!-- scan all beans and inject dependence --> <context:component-scan base-package="com.myproject"/> <!-- add aop support --> <aop:aspectj-autoproxy/> <!-- jpa --> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean"> <property name="persistenceUnitName" value="example"/> </bean> <!-- add Transaction support --> <bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory"/> </bean> <!-- scan transaction annotation --> <tx:annotation-driven transaction-manager="txManager"/> </beans>
3. 在类路径下创建文件夹“META-INF”, 加入文件persistence.xml。 完整的路径是 classpath:META-INF/persistence.xml, 这是jpa的默认配置文件。
<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0"> <persistence-unit name="example" transaction-type="RESOURCE_LOCAL"> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/> <property name="hibernate.connection.driver_class" value="org.gjt.mm.mysql.Driver"/> <property name="hibernate.connection.username" value="root"/> <property name="hibernate.connection.password" value="admin"/> <property name="hibernate.connection.url" value="jdbc:mysql://szOIBnchmrkAP1:3306/test?useUnicode=true&characterEncoding=UTF-8"/> <property name="hibernate.max_fetch_depth" value="3"/> <!-- create table automatically? --> <property name="hibernate.hbm2ddl.auto" value="update"/> </properties> </persistence-unit> </persistence>
4. Entity对象
package com.myproject.example.vo; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity public class Account { @Id @GeneratedValue //generated automatically private long id; @Column(length=20, nullable=false) private String username; @Column(length=20, nullable=false) private String password; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
5.Dao文件
package com.myproject.example.dao.jpa; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; import org.springframework.stereotype.Repository; import com.myproject.example.dao.AccountDao; import com.myproject.example.vo.Account; @Repository public class AccountDaoBean implements AccountDao { @PersistenceContext EntityManager em; @Override public Account queryAccountById(int id) { return em.find(Account.class, id); } @SuppressWarnings("unchecked") @Override public List<Account> queryAccount(Account account) { Query q = em.createQuery("select a from Account a where a.username like ?"); q.setParameter(1, "%"+account.getUsername()+"%"); return q.getResultList(); } @Override public int updateAccount(Account account) { em.merge(account); return 0; } @Override public int insertAccount(Account account) { em.persist(account); return 0; } @Override public int deleteAccount(int id) { em.remove(em.getReference(Account.class, id)); return 0; } }
6. Service对象包含事务管理
package com.myproject.example.service; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import com.myproject.example.dao.AccountDao; import com.myproject.example.vo.Account; @Service @Transactional public class AccountService { @Resource private AccountDao accountDao; //don't need to add transaction in query method @Transactional(propagation=Propagation.NOT_SUPPORTED) public Account Login(String username, String password){ System.out.println(username + " want to login."); Account account = new Account(); account.setUsername(username); account.setPassword(password); List<Account> list= accountDao.queryAccount(account); if(list.size()==1) return list.get(0); else return null; } //in method which already has "throws", we must add rollbackFor if want to rollback for this exception, //otherwise the method will not be rollback @Transactional(rollbackFor=Exception.class) public void reqister(Account account) { accountDao.insertAccount(account); //throw new RuntimeException("==no register"); } }
7.web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <context-param> <!-- location of spring config --> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring.xml</param-value> </context-param> <!-- initialize spring context--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/jsp/index.jsp</welcome-file> </welcome-file-list> <!-- 解决因EntityManager关闭导致的延迟加载异常--> <filter> <filter-name>openEntityManagerInViewFilter</filter-name> <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>openEntityManagerInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
8.单元测试
@Test public void test(){ try { ApplicationContext ac=new ClassPathXmlApplicationContext("spring-jpa-hibernate.xml"); AccountService accountService =(AccountService)ac.getBean("accountService"); Account account = new Account(); account.setUsername("tom"); account.setPassword("117"); accountService.reqister(account); } catch (Exception e) { e.printStackTrace(); } }
发表评论
-
JPA几种状态之间的关系
2017-06-09 13:50 3811 23 参考 ... -
获取spring 上下文的几种方法
2015-04-06 15:28 867获取spring 上下文的几种方法: 1. 通过配置 ... -
使用JPA的createNativeQuery执行复杂sql
2014-12-20 20:27 1276public List queryLatestPerfDai ... -
使用JPA的createNativeQuery执行复杂sql
2014-12-20 20:27 1303public List queryLatestPerfDai ... -
JPA学习资料汇总
2014-12-20 18:40 716JPA criteria 查询:类型安全与面向对象 http: ... -
hibernate HQL查询的参数绑定
2014-12-19 11:50 358参数绑定: Hibernate ... -
Spring 集成到web项目中
2014-06-10 20:17 5131. 在web.xml中配置实例化spring容器 & ... -
Spring + hibernate + ehcache
2014-06-10 18:02 587<?xml version="1.0" ... -
Spring XML配置事务管理
2014-06-10 16:55 830以下是XML配置事务管理的核心代码,其它配置参考 http:/ ... -
Spring 事务传播属性
2014-06-10 16:29 524一、Propagation (事务的传 ... -
Spring + jdbc +connection pool + transaction
2014-06-08 18:34 6381. 添加lib <dependency&g ... -
Spring AOP XML配置实现
2014-06-05 21:06 524<?xml version="1.0" ... -
Spring AOP 注解实现
2014-06-03 19:25 542使用aspectj注解实现的AOP需要引入aspectj的li ... -
Spring 依赖注入
2014-05-30 09:47 542Spring 处理使用XML配置文件进行依赖注入外, 还可以使 ... -
spring2 bean作用域 和 生命周期
2014-05-17 19:14 483一 作用域 1. singleton spring中bean的 ... -
Spring1 Bean实例化
2014-05-17 18:53 3691. Bean实例化的方法 a. 普通方法 public cl ... -
spring 3.0 应用springmvc 构造RESTful URL 详细讲解
2014-04-30 23:10 559博文转载: http://www.blogjava.net/b ...
相关推荐
标题“Spring + JPA + Hibernate配置”涉及到的是Java开发中常用的三个框架——Spring、Java Persistence API (JPA) 和Hibernate的集成与配置。这是一份关于如何将这些框架结合使用的教程或参考资料,可能包含了实现...
在现代Java Web开发中,"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA"是一个常见的架构组合,被广泛应用于构建企业级应用程序。这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心...
在本项目中,"SpringMvc+Spring+JPA+Hibernate实现的增删改查.zip" 是一个使用Java技术栈开发的Web应用实例,主要涵盖了Spring MVC、Spring框架、JPA(Java Persistence API)以及Hibernate这四个核心组件。...
在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,...
在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...
此项目是spring+hibernate+JPA+BoneCP的大整合。所用的技术比较多,如Spring的IOC,AOP,Transactiion,Annotation,Spring_JUnit_Test及Log4j;Hibernate的JPA Annotation;BoneCP的数据库连接测等。是很好的学习资料...
在IT行业中,构建一个基于Spring、SpringMVC、Hibernate和JPA的开发环境是常见的任务,这四个组件都是Java企业级应用开发中的重要工具。让我们深入探讨这些技术以及如何将它们整合在一起搭建一个完整的开发环境。 *...
在IT行业中,构建高效、可扩展的Web应用是至关重要的,而JSF(JavaServer Faces)、Spring框架和JPA(Java Persistence API)结合Hibernate的整合使用,为开发人员提供了强大的工具集。这篇文档"JSF+Spring+JPA_...
这是整合SpringMVC+Spring+SpringDataJPA+Hibernate简单的实现登录的功能,用的是mysql数据库,这是一个web Project 如果你用的是JavaEE6那么你要注意bean-validator.jar和weld-osgi-bundle.jar与slf4j的jar包冲突。...
"Struts+Spring+Jpa(hibernate)整合"这个主题意味着我们要将这三个框架进行集成,以实现更强大的功能。在实际项目中,这种整合能够帮助开发者更好地管理业务逻辑、持久化数据以及处理用户请求。 1. **Struts**:...
车辆管理系统(struts+hibernate+spring+oracle).rar 对公务用车进行档案、费用、调度、维修、安全、运行等全方位的管理和统计,以方便...
### JSF+Spring+JPA(Hibernate实现)的环境搭建 #### 一、概述 根据提供的文件信息,本文旨在深入探讨如何构建一个基于JSF、Spring 和 JPA(使用 Hibernate 实现)的技术栈。该技术栈被视为Struts2+Spring+...
在这个"Spring+SpringMVC+SpringData+JPA+Hibernate+Shiro"的组合中,我们涉及到了Spring生态系统的多个核心组件,以及两个重要的持久层技术和一个安全框架。下面将逐一详细介绍这些技术及其整合方式。 1. **Spring...
标题 "Spring+Hibernate+Jpa+Struts2整合实例" 描述的是一个综合性的Web开发教程,它将四个关键的Java技术框架集成在一起,用于构建高效的企业级应用程序。这个实例涵盖了Spring作为整体应用的管理框架,Hibernate...
spring+hibernate+jpa+struts1+struts2+springmvc+jquery+freemaker 学习笔记 Compass将lucene、Spring、Hibernate三者结合
**Spring+Struts2+JPA 整合详解** 在Java Web开发中,Spring、Struts2和JPA是三个非常重要的框架。Spring作为一个全面的轻量级框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能;Struts2是一个强大的MVC框架...
工作用了springmvc+jpa+spring这么长时间,这段时间正好有点时间就想整合一下,但在整合过程中遇到了各种问题,上网查了很多资料但讲的都很模糊或者是没有注释,在我一步一步的试验中终于整合成功了,做为我自已以后...
此外,教程可能还会涵盖事务管理的配置,以及如何使用Spring Data JPA进一步简化数据访问层的代码。 整合这三大框架,可以实现高效、灵活且易于维护的Java Web应用。通过注解,开发者可以减少XML配置,提高代码的...