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();
}
}