本文共 2939 字,大约阅读时间需要 9 分钟。
1.POM文件2.写配置类import java.util.Properties;import javax.sql.DataSource;import org.apache.ibatis.plugin.Interceptor;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.SqlSessionTemplate;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.jdbc.datasource.DataSourceTransactionManager;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.annotation.EnableTransactionManagement;import org.springframework.transaction.annotation.TransactionManagementConfigurer;import com.github.pagehelper.PageHelper;@Configuration@EnableTransactionManagementpublic class MybatisConfig implements TransactionManagementConfigurer { @Autowired DataSource dataSource; @Bean(name = "sqlSessionFactory") public SqlSessionFactory sqlSessionFactoryBean() { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); PageHelper pageHelper = new PageHelper(); Properties props = new Properties(); //分页参数合理化,个人建议用默认的false props.setProperty("reasonable", "true"); props.setProperty("supportMethodsArguments", "true"); props.setProperty("returnPageInfo", "check"); props.setProperty("params", "count=countSql"); pageHelper.setProperties(props); bean.setPlugins(new Interceptor[] { pageHelper }); //如果spring boot的sql语句是在xml里,则需要加下面两行代码 PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); bean.setMapperLocations(resolver.getResources("classpath:com/xx/xx/xx/*.xml")); //两行代码结束,请注意,如果此处加这两行代码,那么application.properties文件中不要再配置mybatis相关配置了,比如setMapperLocations这些属性什么的,此处不加这两行代码,才需要在properties文件中配置 try { return bean.getObject(); } catch (Exception e) { e.printStackTrace(); } return null; } @Bean public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } @Bean @Override public PlatformTransactionManager annotationDrivenTransactionManager() { return new DataSourceTransactionManager(dataSource); }}3.Controller中写法@ResponseBody @PostMapping("/list") public List com.github.pagehelper pagehelper 4.1.1 getLastData() { //调用startPage方法 //注意第一个参数,不能是0,否则无法查到数据 PageHelper.startPage(1, 5, true, false);//表示当前第1页,每页五条,假如一共11页,那么超过11页,数据则显示空 PageHelper.startPage(1, 5);//表示当前第1页,每页五条,假如一共11页,那么超过11页,数据则显还是第11页 //这里直接写查询方法即可,别的不需要管 List datas = mapper.findLastData(userId); //查询完毕之后 Page pageMsg = (Page ) datas; //如果不额外配置上面的mybatisConfig类,下面写法也可以 PageInfo pageMsg = new PageInfo<>(datas); //到此,pageMsg上述两种都可以的 pageMsg.getTotal(); pageMsg.getPages(); pageMsg.getPageSize(); return datas; }
转载地址:http://rvhws.baihongyu.com/