激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

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

spring boot和mybatis集成分頁插件

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

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

MyBatis提供了攔截器接口,我們可以實(shí)現(xiàn)自己的攔截器,將其作為一個plugin裝入到SqlSessionFactory中。
首先要說的是,Spring在依賴注入bean的時候,會把所有實(shí)現(xiàn)MyBatis中Interceptor接口的所有類都注入到SqlSessionFactory中,作為plugin存在。既然如此,我們集成一個plugin便很簡單了,只需要使用@Bean創(chuàng)建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
//加上這個注解,使得支持事務(wù)
@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);
 
   //自定義數(shù)據(jù)庫配置的時候,需要將pageHelper的bean注入到Plugins中,如果采用系統(tǒng)默認(rèn)的數(shù)據(jù)庫配置,則只需要定義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);
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品免费一区二区三区都可以 | 久章草影院 | 久久91精品久久久久清纯 | 国产成人精品区一区二区不卡 | av电影免费看 | 欧美不卡| 九九热精品在线 | 亚洲二区三区在线 | 久久狂草 | 成人毛片在线免费观看 | 国产自91精品一区二区 | 毛片免费视频 | 91,视频免费看 | 一级黄色影院 | 天天色综合2 | 一区二区三区视频播放 | 久久99精品国产99久久6男男 | 亚洲男人的天堂在线视频 | 国产日韩在线视频 | 九草网| 最新福利在线 | 亚洲免费视频一区二区 | 欧美a在线观看 | 国产精品热 | 一级黄色影院 | 久久国产精品免费视频 | 日韩精品久久久久久久九岛 | 国产男女 爽爽爽爽视频 | 久久久久国产成人精品亚洲午夜 | 久久不射电影 | 久久aⅴ国产欧美74aaa | 日本网站在线看 | 免费看黄色一级大片 | 欧美精品久久天天躁 | 久久久一区二区三区视频 | 狠狠操操 | 国产精品视频一区二区三区四 | 成人免费福利 | 精品国产91久久久久久久妲己 | 欧美 日韩 国产 成人 | 手机av免费在线 |