91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring boot和mybatis集成分頁插件

發布時間:2020-09-15 23:57:04 來源:腳本之家 閱讀:138 作者:牛頭人 欄目:編程語言

MyBatis提供了攔截器接口,我們可以實現自己的攔截器,將其作為一個plugin裝入到SqlSessionFactory中。
首先要說的是,Spring在依賴注入bean的時候,會把所有實現MyBatis中Interceptor接口的所有類都注入到SqlSessionFactory中,作為plugin存在。既然如此,我們集成一個plugin便很簡單了,只需要使用@Bean創建PageHelper對象即可。

1、添加pom依賴

<dependency>
 <groupId>com.github.pagehelper</groupId>
 <artifactId>pagehelper</artifactId>
 <version>4.1.0</version>
</dependency>

2、MyBatisConfiguration.java類配置

package com.example.mybatis;

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
//加上這個注解,使得支持事務
@EnableTransactionManagement
public class MyBatisConfig implements TransactionManagementConfigurer {
 @Autowired
 private DataSource dataSource;
 
 @Override
 public PlatformTransactionManager annotationDrivenTransactionManager() {
  return new DataSourceTransactionManager(dataSource);
 }
 
 @Bean(name = "sqlSessionFactory")
 public SqlSessionFactory sqlSessionFactoryBean(PageHelper pageHelper) {
  SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
  bean.setDataSource(dataSource);

   //自定義數據庫配置的時候,需要將pageHelper的bean注入到Plugins中,如果采用系統默認的數據庫配置,則只需要定義pageHelper的bean,會自動注入。  

   bean.setPlugins(new Interceptor[] { pageHelper });
  try {
   return bean.getObject();
  } catch (Exception e) {
   e.printStackTrace();
   throw new RuntimeException(e);
  }
 }

 @Bean
 public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
  return new SqlSessionTemplate(sqlSessionFactory);
 }
 
 @Bean
 public PageHelper pageHelper() {
  PageHelper pageHelper = new PageHelper();
  Properties p = new Properties();
  p.setProperty("offsetAsPageNum", "true");
  p.setProperty("rowBoundsWithCount", "true");
  p.setProperty("reasonable", "true");
  p.setProperty("dialect", "mysql");
  pageHelper.setProperties(p);
  return pageHelper;
 }
}

3、分頁查詢測試

 @RequestMapping("/likename")
 public List<Student> likeName(@RequestParam String name){
  PageHelper.startPage(1, 1);
  return stuMapper.likeName(name);
 }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湘西| 盘山县| 奉新县| 平远县| 东乡族自治县| 江山市| 巴彦淖尔市| 潞城市| 明星| 菏泽市| 綦江县| 林口县| 慈利县| 连江县| 赞皇县| 永修县| 慈溪市| 阿荣旗| 东海县| 陈巴尔虎旗| 鄂托克前旗| 宜良县| 泰安市| 阳曲县| 毕节市| 巫溪县| 钟祥市| 阳朔县| 普安县| 汶上县| 西乌珠穆沁旗| 天全县| 昭觉县| 罗甸县| 宣化县| 玛纳斯县| 涞源县| 绥宁县| 崇礼县| 松潘县| 舒城县|