java 实现mybatis查询多条数据
时间: 2024-12-17 21:38:40 浏览: 18
在MyBatis中,如果你想要查询多条数据,通常会在SQL映射文件(例如:xml或注解的方式)中设置分页查询,并通过Mapper接口的方法来执行。这里是一个基础的XML配置示例,假设你有一个User实体和一个Mapper接口:
```xml
<!-- SQL 查询所有用户 -->
<select id="selectAllUsers" resultType="com.example.User">
SELECT * FROM users
</select>
<!-- 分页查询用户,例如每页10条 -->
<select id="getUsersByPage" parameterType="map" resultMap="BaseResultMap">
SELECT * FROM users
LIMIT #{start}, #{limit}
</select>
```
在Mapper接口中:
```java
import com.example.mapper.BaseResultMap;
import com.example.User;
import org.apache.ibatis.annotations.Select;
public interface UserMapper {
List<User> selectAllUsers(); // 查询所有用户
List<User> getUsersByPage(int start, int limit); // 根据起始位置和限制获取一页数据
}
```
在Service层中,你可以像下面这样调用这些方法:
```java
@Service
public class UserService {
private final UserMapper userMapper;
@Autowired
public UserService(UserMapper userMapper) {
this.userMapper = userMapper;
}
public List<User> getAllUsers() {
return userMapper.selectAllUsers();
}
public Page<User> getUsers(int pageNum, int pageSize) {
int start = (pageNum - 1) * pageSize; // 计算分页开始的位置
return new Page<>(userMapper.getUsersByPage(start, pageSize), pageNum, pageSize);
}
}
```
这里的`Page`类是一个通用的分页对象,包含了实际的数据列表以及总页数等信息。
阅读全文