package cn.stevekung.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "ay_user")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AyUser {
@Id
private String id;
private String name;
private String password;
}
package cn.stevekung.repository;
import cn.stevekung.pojo.AyUser;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Collection;
import java.util.List;
public interface AyUserRepository extends JpaRepository<AyUser, String>{
/**
* 描述:通过名字相等查询,参数为 name
* 相当于:select u from ay_user u where u.name = ?1
*/
List<AyUser> findByName(String name);
/**
* 描述:通过名字like查询,参数为 name
* 相当于:select u from ay_user u where u.name like ?1
*/
List<AyUser> findByNameLike(String name);
/**
* 描述:通过主键id集合查询,参数为 id集合
* 相当于:select u from ay_user u where id in(?,?,?)
* @param ids
*/
List<AyUser> findByIdIn(Collection<String> ids);
}
package cn.stevekung.service;
import cn.stevekung.pojo.AyUser;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.Collection;
import java.util.List;
public interface AyUserService {
// 基本crud操作
AyUser findById(String id); // 查
List<AyUser> findAll(); // 查
AyUser save(AyUser ayUser);// 增 改
void delete(String id); // 删
// 分页
Page<AyUser> findAll(Pageable pageable);
// 自定义查询方法
List<AyUser> findByName(String name);
List<AyUser> findByNameLike(String name);
List<AyUser> findByIdIn(Collection<String> ids);
}
package cn.stevekung.service.impl;
import cn.stevekung.pojo.AyUser;
import cn.stevekung.repository.AyUserRepository;
import cn.stevekung.service.AyUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
@Service
public class AyUserServiceImpl implements AyUserService {
@Autowired
AyUserRepository ayUserRepository;
@Override
public AyUser findById(String id) {
return ayUserRepository.findById(id).get();
}
@Override
public List<AyUser> findAll() {
return ayUserRepository.findAll();
}
@Override
public AyUser save(AyUser ayUser) {
return ayUserRepository.save(ayUser);
}
@Override
public void delete(String id) {
ayUserRepository.deleteById(id);
}
// 分页
@Override
public Page<AyUser> findAll(Pageable pageable) {
return ayUserRepository.findAll(pageable);
}
@Override
public List<AyUser> findByName(String name) {
return ayUserRepository.findByName(name);
}
@Override
public List<AyUser> findByNameLike(String name) {
return ayUserRepository.findByNameLike(name);
}
@Override
public List<AyUser> findByIdIn(Collection<String> ids) {
return ayUserRepository.findByIdIn(ids);
}
}
<!--spring data jpa 持久化规范 主要实现 有 hibernate-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>