mybatis 分页 ;插件 pagehelper
DiMapper 类
package ws.wsj.mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import ws.wsj.pojo.User;
import java.util.List;
public interface DiMapper {
public int count();
public int count(String w);
//public List page(int start, int limit);
//@Select("select * from cat limit #{start},#{limit}")
public List page(@Param("start") int start, @Param("limit") int limit);
public List page();
@Select("select * from cat")
public List pp();
}
DiMapper映射文件
select count(*)from cat true ${w}
logback日志
[%-5level] %L %d{HH:mm:ss} [%thread] %L %logger{36} - %msg%n
mybatis-config
测试类
package ws;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.mapperhelper.MapperHelper;
import ws.wsj.mapper.DiMapper;
import ws.wsj.mapper.KaiMapper;
import ws.wsj.mapper.KeMapper;
import ws.wsj.mapper.UserMapper;
import ws.wsj.pojo.Ke;
import ws.wsj.pojo.User;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.time.LocalDate;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
// 分页效果
@Slf4j
public class Demo {
SqlSession ss = null;
DiMapper dd = null;
@Before
public void init() throws IOException {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//Sql会话工厂 SqlSessionFactory;
var sf = new SqlSessionFactoryBuilder().build(is);
ss = sf.openSession(true);
//配置 Configuration; 注册映射器 registerMapper;
//流程配置 processConfiguration
Configuration cfg = sf.getConfiguration();
MapperHelper mapper = new MapperHelper();
mapper.registerMapper(Mapper.class);
mapper.processConfiguration(cfg);
//获取映射器 getMapper
kai = ss.getMapper(KaiMapper.class);
uu = ss.getMapper(UserMapper.class);
dd = ss.getMapper(DiMapper.class);
kk = ss.getMapper(KeMapper.class);
}
@Test
public void t3() {
//无参数
//int num = dd.count();
//log.info("{}", num);
//有参数
//int num = dd.count("name like '%CT5%'");
//log.info("{}", num);
//自己分的
//动态分页
int pagesize = 3;
int currpage = 2;
List list = dd.page(currpage * pagesize - pagesize, pagesize);
//List list = dd.page();
log.info("{}--{}", list, list.size());
}
//使用pageHelper插件
@Test
public void t4() {
//PageHelper.startPage(2, 3);
//排序分页
//PageHelper.startPage(1, 3, "id desc");
//不计算记录总数 false; 计算总记录数 true
//PageHelper.startPage(1, 3, true);
PageHelper.startPage(5, 3, true, true, true);
PageInfo p = PageInfo.of(dd.pp());
log.info("{}", p.getList().get(0));
log.info("{}", p.getList().get(1));
log.info("{}", p.getList().get(2));
log.info("[第{}页,共{}页,][每页{}条,共{}条]", p.getPageNum(), p.getPages(), p.getPageSize(), p.getTotal());
}
}



