springboot 通用接口咋写
时间: 2023-02-19 13:59:48 浏览: 96
SpringBoot 提供了一系列的注解和接口来帮助开发者编写通用接口,比如@RequestMapping、@GetMapping、@PostMapping等,可以根据需要来使用这些注解和接口来实现通用接口的编写。
相关问题
SpringBoot jpa 通用接口咋写
SpringBoot JPA通用接口的编写步骤如下:
1. 创建一个基础的Repository接口,继承自JpaRepository,并添加一些通用的方法。例如:
```
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.NoRepositoryBean;
import java.io.Serializable;
import java.util.List;
@NoRepositoryBean
public interface BaseRepository<T, ID extends Serializable> extends JpaRepository<T, ID> {
/**
* 根据ID列表查询
*/
List<T> findByIds(List<ID> ids);
/**
* 根据ID列表删除
*/
void deleteByIds(List<ID> ids);
/**
* 根据条件查询
*/
@Query("select t from #{#entityName} t where t.isDeleted=false and t.id=?1 ")
T findByIdAndNotDeleted(ID id);
/**
* 根据条件查询
*/
@Query("select t from #{#entityName} t where t.isDeleted=false and t.id in ?1 ")
List<T> findByIdsAndNotDeleted(List<ID> ids);
}
```
2. 在需要使用通用接口的Repository中,继承BaseRepository,并添加自定义的方法。例如:
```
import org.springframework.stereotype.Repository;
@Repository
public interface UserRepository extends BaseRepository<User, Long> {
User findByUsername(String username);
}
```
3. 在Service中注入Repository,并调用通用方法或自定义方法。例如:
```
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User findByUsername(String username) {
return userRepository.findByUsername(username);
}
}
```
通过以上步骤,就可以方便地使用JPA进行数据库操作,避免了手写SQL的繁琐和错误。
springboot 通用脚手架
以下是一个基于Spring Boot的通用脚手架的示例:
1. 首先,你需要在pom.xml文件中添加以下依赖项:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
```
2. 接下来,你需要创建一个实体类,例如:
```java
public class User {
private Long id;
private String name;
private Integer age;
// 省略getter和setter方法
}
```
3. 然后,你需要创建一个Mapper接口,例如:
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
```
4. 接下来,你需要创建一个Service接口和实现类,例如:
```java
public interface UserService extends IService<User> {
}
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
```
5. 最后,你需要创建一个Controller类,例如:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("")
public List<User> list() {
return userService.list();
}
@PostMapping("")
public boolean save(@RequestBody User user) {
return userService.save(user);
}
@GetMapping("/{id}")
public User get(@PathVariable Long id) {
return userService.getById(id);
}
@PutMapping("/{id}")
public boolean update(@PathVariable Long id, @RequestBody User user) {
user.setId(id);
return userService.updateById(user);
}
@DeleteMapping("/{id}")
public boolean delete(@PathVariable Long id) {
return userService.removeById(id);
}
}
```
这个示例演示了如何使用Spring Boot和MyBatis Plus快速创建一个通用脚手架,它可以处理基本的CRUD操作。