spring data jpa配置

2014-11-23 23:56:39 · 作者: · 浏览: 0

平时编程,除了写页面很花费事件之外重复的写一些dao里面的sql语句也很烦人,最近发现spring data jpa非常的好用,可以最大程度的减少我们写sql语句的次数,一些简单的sql语句能根据接口的名称自动解析成sql,为我们大大的节约了编程的时间,让我们可以把更多的时间花在最重要的业务逻辑上面,重点他还帮我们实现了分页查询的方法,用起来非常的爽;

比如我们在dao借口里面写一个public void findByName(string name);,他就会自动的给我们解析成select * from tableName where name=name;让我们不用去关sql;

除了springMVC+hibernate+spring的框架之外还需要加的jar包:

		
  
			
   
    org.hibernate.javax.persistence
   
			
   
    hibernate-jpa-2.0-api
   
			
   
    1.0.1.Final
   
		
  
		
  
			
   
    org.springframework.data
   
			
   
    spring-data-jpa
   
			
   
    1.0.3.RELEASE
   
		
  

切记hibernate最好用3.6.10.Final这个版本,spring用 3.1.1.RELEASE这个版本,之前因为版本低了一直报错,用了几天时间才找到问题

然后需要修改applicationContext.xml里面的sessionFactory修改为:

	
  
		
   
		
   
		
    
     
      
      
      
      
     
   
	
  

在配置事务的时候把entityManagerFactory当成sessionFactory用就行了

然后写dao的接口

@Repository
public interface UserDao extends PagingAndSortingRepository
  
    {
	public Test findByName(String name);
}
  

然后调用dao的方法:

	@RequestMapping("chen")
	public void chen(int pageNo, int pageSize) {
		Page
  
    page = userDao.findAll(new PageRequest(pageNo - 1, pageSize));
	}
  

里面封装了一些常用的方法;


修改和删除的时候就需要自己写sql了,但是写得也不是很多(注意注解)

	@Modifying
	@Query("update AccountInfo a set a.salary =  1 where a.salary <  2")
	public int increaseSalary(int after, int before);