mybatis分页查询返回空列表
我在java web开发中想通过mybatis实现一个分页功能,但是在测试中查询出来的结果是空的,在datagrip中是可以查询出来的。想请问是哪一步错了。MybatisConfig.xml<select id="selectByPage" resultType="edu.zjku.bean.Blog" parameterType="int">
select * from blog limit #{param1},#{param2}
</select>
BlogMapper List<Blog> selectByPage(int pageNumber,int linesPerPage);
BlogService List<Blog> selectByPage(int pageNumber,int linesPerPage);
BlogServiceImpl@Override
public List<Blog> selectByPage(int pageNumber,int linesPerPage) {
List<Blog> list = null;
InputStream is = null;
SqlSession sql = null;
try {
is = Resources.getResourceAsStream("mybatisConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
sql = sqlSessionFactory.openSession(true);
BlogMapper mapper = sql.getMapper(BlogMapper.class);
list = mapper.selectByPage((pageNumber-1)*linesPerPage,linesPerPage);
} catch (IOException e) {
e.printStackTrace();
if (sql != null) {
sql.close();
}
if (is != null) {
try {
is.close();
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
}
return list;
}
BlogTest//分页查询测试
List<Blog> list = null;
int pageNum = 1;
int linesPerPage = 3;
list = service.selectByPage(pageNum, linesPerPage);
for (Blog blog : list){
blog.toString();
} 从你提供的代码来看,可能出现错误的地方有以下几点:
1. MybatisConfig.xml配置文件问题:你在提问中给出的MybatisConfig.xml文件中只有一个简单的SQL语句,这是不完整的。通常情况下,你需要在MybatisConfig.xml中配置数据源、映射文件路径等信息。请确保MybatisConfig.xml配置文件正确,并且已经包含了合适的映射文件。
2. BlogMapper接口问题:请确保BlogMapper接口中定义的方法名称和参数与数据库中的表和字段对应。
3. BlogMapper.xml映射文件问题:请仔细检查BlogMapper.xml映射文件中SQL查询语句是否正确,并且参数位置、名称是否与接口中的方法一致。
4. 数据库连接问题:请确保数据库连接配置正确,并且数据库中是否存在符合查询条件的数据。
另外,你在测试代码中使用了`for (Blog blog : list){ blog.toString(); }`来遍历结果集,但是并没有输出,我假设你想要打印出结果,可以修改为`for (Blog blog : list){ System.out.println(blog.toString()); }`。
如果你仍然无法解决问题,请提供更多的信息和错误提示,以便我们更好地帮助你解决问题。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 破案了,因为最后的测试类没有使用System.out.println()输出所以看不见。 ZhihanXing 发表于 2024-03-18 11:28
破案了,因为最后的测试类没有使用System.out.println ...
没问题,很高兴你找到了问题所在!确实,如果不使用`System.out.println()`或其他输出方法,结果是看不到的。在编写测试代码时,请确保使用适当的方式输出结果,这样可以更方便地查看和验证查询结果。顺便说一下,你还可以使用日志记录器(如logback、log4j等)来输出结果,这样会更加灵活和可控。如果你有任何其他问题,都可以随时向我提问哦!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]