springDataJpa——Sql查询
一、环境搭建
springDataJpa的环境搭建在上篇已经讲到,这篇中所使用的entity与下面这个链接一致,这里不再赘述。springDataJpa环境搭建
二、Dao层
package com.xsl.dao;
import com.xsl.entity.UserEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
public interface UserDao extends JpaRepository<UserEntity,Long>, JpaSpecificationExecutor<UserEntity> {
/**
* 方法名称规则查询
* 直接字段首字母大写:进行完全等于的匹配如下ByPassword 即 password =
* By+(Fied首字母大写)+(查询方式 Like|isnull...)
* By+(Fied首字母大写)+(查询方式 Like|isnull...)+(连接词and/or)+...
*/
public List<UserEntity> findUserEntityByPassword(String password);
public List<UserEntity> findUserEntityByUsernameLike(String username);
}
三、测试
package com.xsl.test;
import com.xsl.dao.UserDao;
import com.xsl.entity.UserEntity;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class MethodNameQueryTest {
@Autowired
private UserDao userDao;
@Test
public void findUserEntityByPassword(){
List<UserEntity> userEntityByPassword = userDao.findUserEntityByPassword("123");
System.out.println(userEntityByPassword);
}
@Test
public void findUserEntityByUsernameLike(){
List<UserEntity> userEntityByPassword = userDao.findUserEntityByUsernameLike("%东软%");
System.out.println(userEntityByPassword);
}
}