用Java写,mybatis的xml文件sql,接收参数是PageResult<CustomerCompanyDO>的分页查询带有查询条件
时间: 2024-03-05 20:48:18 浏览: 78
假设你的查询语句是在 `CustomerCompanyMapper.xml` 文件中,以下是一个示例的 SQL 语句,可以实现带查询条件的分页查询:
```xml
<!-- 分页查询 SQL,其中 #{condition} 是动态条件,#{offset} 和 #{limit} 是分页参数 -->
<select id="selectByCondition" resultType="CustomerCompanyDO">
SELECT *
FROM customer_company
<where>
<if test="condition != null and condition != ''">
AND (
company_name LIKE CONCAT('%', #{condition}, '%')
OR company_address LIKE CONCAT('%', #{condition}, '%')
)
</if>
</where>
ORDER BY id DESC
LIMIT #{offset}, #{limit}
</select>
```
在 Java 代码中,可以使用 MyBatis 的 `RowBounds` 对象来传递分页参数,使用 `Map` 对象来传递查询条件。以下是一个示例代码:
```java
// 定义查询条件和分页参数
String condition = "test"; // 假设查询条件是 "test"
int pageNum = 1; // 分页页码
int pageSize = 10; // 分页大小
// 构造查询条件和分页参数的 Map 对象
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("condition", condition);
paramMap.put("offset", (pageNum - 1) * pageSize);
paramMap.put("limit", pageSize);
// 创建 RowBounds 对象
RowBounds rowBounds = new RowBounds((pageNum - 1) * pageSize, pageSize);
// 调用 MyBatis 的分页查询方法
List<CustomerCompanyDO> resultList = sqlSession.selectList("selectByCondition", paramMap, rowBounds);
// 封装查询结果到 PageResult 对象中,例如:
PageResult<CustomerCompanyDO> pageResult = new PageResult<>();
pageResult.setList(resultList);
pageResult.setPageNum(pageNum);
pageResult.setPageSize(pageSize);
// ... 其他分页信息的设置
```
需要注意的是,以上代码中的 `sqlSession` 对象是通过 `SqlSessionFactory` 创建的,可以在 MyBatis 的配置文件中配置。另外,需要在代码中处理异常和关闭资源等操作。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](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)
![](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)