一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - spring boot和mybatis集成分頁插件

spring boot和mybatis集成分頁插件

2020-09-17 15:40牛頭人 Java教程

這篇文章主要為大家詳細介紹了spring boot和mybatis集成分頁插件,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

1、添加pom依賴

?
1
2
3
4
5
<dependency>
 <groupId>com.github.pagehelper</groupId>
 <artifactId>pagehelper</artifactId>
 <version>4.1.0</version>
</dependency>

2、MyBatisConfiguration.java類配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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、分頁查詢測試

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美午夜性春猛交bbb | 青青91 | 免费视频亚洲 | 亚洲国产精品自产在线播放 | 色橹橹 | 欧美色在线 | 小寡妇水真多好紧 | 97精品国产高清在线看入口 | 性色欲情网站IWWW九文堂 | 国产二区精品视频 | 国产香蕉一区二区在线观看 | 私人影院在线免费观看 | avtt天堂在线 | 精品无人乱码一区二区三区 | 日韩欧美视频二区 | 亚洲国产欧美在线人成aaa | 日韩xx00| 免费在线视频网站 | 国产午夜精品福利久久 | 国产欧美一区视频在线观看 | 日韩拍拍拍| 国色天香社区视频免费观看3 | 男同桌扒开女同桌胸罩喝奶 | 日本视频在线免费播放 | 紧致肉肉高h | 国产福利在线观看永久视频 | sao虎影院桃红视频在线观看 | 暖暖视频免费观看视频中国.韩剧 | 国产成人精品福利色多多 | 亚洲免费国产 | 国内精品自产拍在线观看91 | 超91精品手机国产在线 | 成年极品漫画在线观看 | a一级毛片录像带 录像片 | 忘忧草秋观看未满十八 | 久久精品国产免费播高清无卡 | 久久视频精品3线视频在线观看 | 从后面撕开老师的丝袜动态图 | 亚欧洲乱码视频一二三区 | 久见久热 这里只有精品 | 福利片福利一区二区三区 |