现在的场景是 有流水表 我可以通过merchant_code, sign_name, 或者mobile进行查询 请使用mybatis-plus的注解方式进行查询 并且使用分页查询
时间: 2024-02-09 22:10:14 浏览: 142
假设有一个流水表,表名为`transaction`,包含以下字段:
- `id`:流水号
- `merchant_code`:商户号
- `sign_name`:签名
- `mobile`:手机号
- `amount`:金额
- `create_time`:创建时间
可以使用MyBatis-Plus的注解方式进行查询和分页。假设已经定义了一个`Transaction`实体类,可以按照以下方式进行查询和分页:
```java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface TransactionMapper extends BaseMapper<Transaction> {
@Select("SELECT * FROM transaction WHERE merchant_code = #{merchantCode}")
Page<Transaction> findByMerchantCode(Page<Transaction> page, @Param("merchantCode") String merchantCode);
@Select("SELECT * FROM transaction WHERE sign_name = #{signName}")
Page<Transaction> findBySignName(Page<Transaction> page, @Param("signName") String signName);
@Select("SELECT * FROM transaction WHERE mobile = #{mobile}")
Page<Transaction> findByMobile(Page<Transaction> page, @Param("mobile") String mobile);
}
```
在这个例子中,`TransactionMapper`接口继承了`BaseMapper<Transaction>`,并且定义了三个查询方法:`findByMerchantCode()`、`findBySignName()`和`findByMobile()`。每个查询方法都使用`@Select`注解指定了SQL查询语句,并且使用了`@Param`注解指定了参数名。每个查询方法都返回一个`Page<Transaction>`类型的分页结果,其中`page`参数用于指定分页信息。
要使用这些查询方法进行查询,可以按照以下方式进行操作:
```java
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class TransactionService {
@Autowired
private TransactionMapper transactionMapper;
public Page<Transaction> findByMerchantCode(String merchantCode, int pageNum, int pageSize) {
Page<Transaction> page = new Page<>(pageNum, pageSize);
return transactionMapper.findByMerchantCode(page, merchantCode);
}
public Page<Transaction> findBySignName(String signName, int pageNum, int pageSize) {
Page<Transaction> page = new Page<>(pageNum, pageSize);
return transactionMapper.findBySignName(page, signName);
}
public Page<Transaction> findByMobile(String mobile, int pageNum, int pageSize) {
Page<Transaction> page = new Page<>(pageNum, pageSize);
return transactionMapper.findByMobile(page, mobile);
}
}
```
在这个例子中,`TransactionService`类使用`TransactionMapper`进行查询,并且定义了三个查询方法:`findByMerchantCode()`、`findBySignName()`和`findByMobile()`。每个查询方法都返回一个`Page<Transaction>`类型的分页结果,其中`pageNum`和`pageSize`参数用于指定分页信息。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)