Mybaties 拦截器_分页插件的使用——PageHelper

1.导入maven

 2.注册插件

 3.使用

4.导航栏的生成

 

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import cskaoyan.mybaties.bean.Employee;
import cskaoyan.mybaties.bean.EmployeeExample;
import cskaoyan.mybaties.dao.EmployeeMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;
import org.apache.ibatis.io.Resources;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * @author looper
 * @
 **/
public class MyTest {

    @Test
    public void test() throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException {

        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        File configFile = new File("src\\main\\resources\\mbg.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(configFile);
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
        myBatisGenerator.generate(null);
    }

    @Test
    public void test2() throws IOException {
        String str = "mybatis-config.xml";
        InputStream resourceAsStream = Resources.getResourceAsStream(str);
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession openSession = sessionFactory.openSession();

//        System.out.println(1);

        EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);

//        List<Employee> employees = mapper.selectByExample(null);

        EmployeeExample example = new EmployeeExample();
        EmployeeExample.Criteria criteria = example.createCriteria();

        criteria.andLastNameLike("%杰%");
        criteria.andGenderEqualTo("男");

        List<Employee> employees = mapper.selectByExample(example);
        //原因是反射把获得的值都set到类里了

//        List<Employee> employees = mapper.selectByExample(null);
        openSession.commit();
        for (Employee employee : employees) {
            System.out.println(employee.getLastName());
        }


        openSession.close();


    }

    @Test
    public void test3() throws IOException {
        String str = "mybatis-config.xml";
        InputStream resourceAsStream = Resources.getResourceAsStream(str);
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession openSession = sessionFactory.openSession();
        EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);

        Page<Object> page = PageHelper.startPage(4, 2);

        List<Employee> employees = mapper.selectByExample(null);
        for (Employee employee : employees) {
            System.out.println(employee);
        }
        PageInfo<Employee> pageInfo = new PageInfo<>(employees);

        PageInfo<Employee> pageInfo1 = new PageInfo<>(employees, 5);



        System.out.println("当前页码:"+page.getPageNum());
        System.out.println("总记录数:"+page.getTotal());
        System.out.println("每页记录数:"+page.getPageSize());
        System.out.println("总页码:"+page.getPages());
        System.out.println("当前的导航栏页码");
        int[] nums = pageInfo1.getNavigatepageNums();
        for (int i = 0; i < nums.length; i++) {
            System.out.println(nums[i]);
        }
        openSession.commit();
        openSession.close();


    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值