一步一步学SpringDataJpa——JpaRepository基本功能(Curd)

来源:互联网 发布:秦始皇和刘邦知乎 编辑:程序博客网 时间:2024/06/04 20:46

1.UserService

/** * * Copyright: Copyright (c) 2012 Asiainfo-Linkage * * service@date:2014-3-25 * @ClassName: UserService.java * @Description: 用户服务接口 * * @version: v1.0.0上午9:54:56eleven * @author: elevenSpringDataJpa * * Modification History: * Date  Author  Version Description * ---------------------------------------------------------* * 2014-3-25 eleven v1.0.0 新建 */package com.xr.service;import java.util.List;import org.springframework.data.domain.Page;import org.springframework.data.domain.Pageable;import org.springframework.data.domain.Sort;import com.xr.bean.User;public interface UserService {/** *  * @Title: addUser * @Description: TODO(添加用户) * @return: void * @author: eleven * @date: 2014-3-25 * @history: Date  Author  Version  Description *  ---------------------------------------------------------* *  2014-3-25  eleven v1.0.0   修改原因 */void addUser(User user);/** *  * @Title: addUser * @Description: TODO(批量添加用户) * @param list * @return: void * @author: eleven * @date: 2014-3-25 * @history: Date  Author  Version  Description *  ---------------------------------------------------------* *  2014-3-25  eleven v1.0.0   修改原因 */void addUser(List<User> list);/** *  * @Title: deleteUser * @Description: TODO(删除用户) * @param user * @return: void * @author: eleven * @date: 2014-3-25 * @history: Date  Author  Version  Description *  ---------------------------------------------------------* *  2014-3-25  eleven v1.0.0   修改原因 */void deleteUser(User user);/** *  * @Title: deleteUser * @Description: TODO(删除用户) * @param id * @return: void * @author: eleven * @date: 2014-3-25 * @history: Date  Author  Version  Description *  ---------------------------------------------------------* *  2014-3-25  eleven v1.0.0   修改原因 */void deleteUser(String id);/** *  * @Title: deleteUser * @Description: TODO(删除用户) * @param list * @return: void * @author: eleven * @date: 2014-3-25 * @history: Date  Author  Version  Description *  ---------------------------------------------------------* *  2014-3-25  eleven v1.0.0   修改原因 */void deleteUser(List<User> list);/** *  * @Title: updateUser * @Description: TODO(编辑用户) * @param user * @return: void * @author: eleven * @date: 2014-3-25 * @history: Date  Author  Version  Description *  ---------------------------------------------------------* *  2014-3-25  eleven v1.0.0   修改原因 */void updateUser(User user);/** *  * @Title: existUser * @Description: TODO(判断用户是否存在) * @param id * @return * @return: boolean * @author: eleven * @date: 2014-3-25 * @history: Date  Author  Version  Description *  ---------------------------------------------------------* *  2014-3-25  eleven v1.0.0   修改原因 */boolean existUser(String id);/** *  * @Title: queryUserById * @Description: TODO(查询用户) * @param id * @return * @return: User * @author: eleven * @date: 2014-3-25 * @history: Date  Author  Version  Description *  ---------------------------------------------------------* *  2014-3-25  eleven v1.0.0   修改原因 */User queryUserById(String id);/** *  * @Title: queryAllUser * @Description: TODO(查询用户) * @return * @return: List<User> * @author: eleven * @date: 2014-3-25 * @history: Date  Author  Version  Description *  ---------------------------------------------------------* *  2014-3-25  eleven v1.0.0   修改原因 */List<User> queryAllUser();/** *  * @Title: queryListUser * @Description: TODO(查询用户) * @param list * @return * @return: List<User> * @author: eleven * @date: 2014-3-25 * @history: Date  Author  Version  Description *  ---------------------------------------------------------* *  2014-3-25  eleven v1.0.0   修改原因 */List<User> queryListUser(List<String> list);/** *  * @Title: queryAllUserSort * @Description: TODO(查询用户) * @param sort * @return * @return: List<User> * @author: eleven * @date: 2014-3-25 * @history: Date  Author  Version  Description *  ---------------------------------------------------------* *  2014-3-25  eleven v1.0.0   修改原因 */List<User> queryAllUserBySort(Sort sort);/** *  * @Title: queryUserByPage * @Description: TODO(查询用户) * @param pageable * @return * @return: Page<User> * @author: eleven * @date: 2014-3-25 * @history: Date  Author  Version  Description *  ---------------------------------------------------------* *  2014-3-25  eleven v1.0.0   修改原因 */Page<User> queryUserByPage(Pageable pageable);}

/** * * Copyright: Copyright (c) 2012 Asiainfo-Linkage * * service.impl@date:2014-3-25 * @ClassName: UserServiceImpl.java * @Description: 用户服务接口实现类 * * @version: v1.0.0上午9:56:48eleven * @author: elevenSpringDataJpa * * Modification History: * Date  Author  Version Description * ---------------------------------------------------------* * 2014-3-25 eleven v1.0.0 新建 */package com.xr.service.impl;import java.util.List;import javax.annotation.Resource;import org.springframework.data.domain.Page;import org.springframework.data.domain.Pageable;import org.springframework.data.domain.Sort;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import com.xr.bean.User;import com.xr.repository.UserRepository;import com.xr.service.UserService;@Service(value = "userService")@Transactionalpublic class UserServiceImpl implements UserService {@Resourceprivate UserRepository userRepository;public void setUserRepository(UserRepository userRepository) {this.userRepository = userRepository;}/* (非 Javadoc) * <p>Title: addUser</p> * <p>Description: </p> * @see service.UserService#addUser() */@Overridepublic void addUser(User user) {userRepository.save(user);}/* (非 Javadoc)* <p>Title: addUser</p>* <p>Description: </p>* @param list* @see com.xr.service.UserService#addUser(java.util.List)*/@Overridepublic void addUser(List<User> list) {userRepository.save(list);}/* (非 Javadoc)* <p>Title: deleteUser</p>* <p>Description: </p>* @param user* @see com.xr.service.UserService#deleteUser(com.xr.bean.User)*/@Overridepublic void deleteUser(User user) {userRepository.delete(user);}/* (非 Javadoc)* <p>Title: deleteUser</p>* <p>Description: </p>* @param id* @see com.xr.service.UserService#deleteUser(java.lang.String)*/@Overridepublic void deleteUser(String id) {userRepository.delete(id);}/* (非 Javadoc)* <p>Title: deleteUser</p>* <p>Description: </p>* @param list* @see com.xr.service.UserService#deleteUser(java.util.List)*/@Overridepublic void deleteUser(List<User> list) {userRepository.delete(list);}/* (非 Javadoc)* <p>Title: updateUser</p>* <p>Description: </p>* @param user* @see com.xr.service.UserService#updateUser(com.xr.bean.User)*/@Overridepublic void updateUser(User user) {userRepository.save(user);}/* (非 Javadoc)* <p>Title: existUser</p>* <p>Description: </p>* @param id* @return* @see com.xr.service.UserService#existUser(java.lang.String)*/@Overridepublic boolean existUser(String id) {return userRepository.exists(id);}/* (非 Javadoc)* <p>Title: queryUserById</p>* <p>Description: </p>* @param id* @return* @see com.xr.service.UserService#queryUserById(java.lang.String)*/@Overridepublic User queryUserById(String id) {return userRepository.findOne(id);}/* (非 Javadoc)* <p>Title: queryAllUser</p>* <p>Description: </p>* @return* @see com.xr.service.UserService#queryAllUser()*/@Overridepublic List<User> queryAllUser() {return userRepository.findAll();}/* (非 Javadoc)* <p>Title: queryListUser</p>* <p>Description: </p>* @param list* @return* @see com.xr.service.UserService#queryListUser(java.util.List)*/@Overridepublic List<User> queryListUser(List<String> list) {return userRepository.findAll(list);}/* (非 Javadoc)* <p>Title: queryAllUserBySort</p>* <p>Description: </p>* @param sort* @return* @see com.xr.service.UserService#queryAllUserBySort(org.springframework.data.domain.Sort)*/@Overridepublic List<User> queryAllUserBySort(Sort sort) {return userRepository.findAll(sort);}/* (非 Javadoc)* <p>Title: queryUserByPage</p>* <p>Description: </p>* @param pageable* @return* @see com.xr.service.UserService#queryUserByPage(java.awt.print.Pageable)*/@Overridepublic Page<User> queryUserByPage(Pageable pageable) {return userRepository.findAll(pageable);}}

2.UserServiceTest

 * Copyright: Copyright (c) 2014 Asiainfo-Linkagepackage com.xr.service;import java.util.ArrayList;import java.util.List;import java.util.UUID;import javax.annotation.Resource;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.data.domain.Page;import org.springframework.data.domain.PageRequest;import org.springframework.data.domain.Pageable;import org.springframework.data.domain.Sort;import org.springframework.data.domain.Sort.Direction;import org.springframework.data.domain.Sort.Order;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import com.xr.bean.User;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {"classpath:applicationContext.xml"})public class UserServiceTest {@Resourceprivate UserService userService;@Testpublic void test() {//新增//User user = new User();//user.setId(UUID.randomUUID().toString());//user.setName("springdatajpa");//user.setPwd("123456");//userService.addUser(user);//批量新增//User user = null;//List<User> list = new ArrayList<User>();//for(int i = 0; i < 10; i++){//user = new User();//user.setId(UUID.randomUUID().toString());//user.setName("name" + i);//user.setPwd("pwd" + i);//user.setAge(i);//list.add(user);//}//userService.addUser(list);//删除//User user = new User();//user.setId("009c3691-19ff-4114-987f-9eb36054c768");//userService.deleteUser(user);//批量删除//查询//List<String> idList = new ArrayList<String>();//idList.add("06cd2f98-abb5-485e-87b4-8042b84be7ff");//List<User> list = userService.queryListUser(idList);//System.out.println(list);//List<User> list = userService.queryAllUserBySort(new Sort(new Order(Direction.DESC, "name")));//System.out.println(list);Page<User> pageUser = userService.queryUserByPage(new PageRequest(1, 3));System.out.println(pageUser.getContent());pageUser = userService.queryUserByPage(new PageRequest(1, 3, new Sort(new Order(Direction.DESC, "name"))));System.out.println(pageUser.getContent());}}
其他配置代码不变,测试JpaRepository的CrudApi


0 0
原创粉丝点击