国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

mybatis-plus分頁total為0,分頁失效,mybatis-plus多租戶插件使用

這篇具有很好參考價值的文章主要介紹了mybatis-plus分頁total為0,分頁失效,mybatis-plus多租戶插件使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

背景:項目使用mybatis分頁插件不生效,以及多租戶使用時讀取配置異常

分頁插件不細述,網(wǎng)上很多方法試了還是不生效,最后修改到當前版本解決,直接上代碼

多租戶插件使用遇到的問題:

最開始在MyTenantLineHandler中使用 @Value("${tables}"),服務啟動時能從配置中心拉取到配置,但在運行時獲取到的值為空,試了很多方法都不生效,后面將配置中心的配置在調(diào)用MyTenantLineHandler的那一層向下傳遞配置值,問題解決

租戶配置文章來源地址http://www.zghlxwxcb.cn/news/detail-738496.html

@Component
@RefreshScope
@ConfigurationProperties(prefix = "saas.tenant")
public class ConfigProperties {

	public void setColumn(String column) {
		this.column = column;
	}
	public void setTables(List<String> tables) {
		this.tables = tables;
	}

	public String getColumn(){
		return this.column;
	}
	public List<String> getTables(){
		return this.tables;
	}
	private String column="";

	private List<String> tables= Lists.newArrayList();
}
TenantLineHandler
public class MyTenantLineHandler implements TenantLineHandler {
	private final ConfigProperties configProperties;

	public MyTenantLineHandler(ConfigProperties configProperties) {
		this.configProperties = configProperties;
	}

	@Override
	public LongValue getTenantId() {
		Long tenantId = TenantContextHolder.getTenantId();
		return tenantId == null ? new LongValue(-1) : new LongValue(tenantId);
	}

	@Override
	public String getTenantIdColumn() {
		return configProperties.getColumn();
	}

	@Override
	public boolean ignoreTable(String tableName) {
		return !configProperties.getTables().contains(tableName);
		// return TenantLineHandler.super.ignoreTable(tableName);
	}
}
MybatisPlusConfig
注意:TenantLineInnerInterceptor要添加PaginationInnerInterceptor之前,如果放錯了,會出現(xiàn)分頁count(*)查詢時不會自動加上tenant_id
@Configuration
@AutoConfigureAfter(PageHelperAutoConfiguration.class)
//@EnableTransactionManagement
public class MybatisPlusConfig {
	@Autowired
	private List<SqlSessionFactory> sqlSessionFactoryList;
	@Autowired
	private ConfigProperties configProperties;

	@PostConstruct
	public void addMyInterceptor() {
		MybatisPlusInterceptor interceptor = mybatisPlusInterceptor();
		for (SqlSessionFactory factory : sqlSessionFactoryList) {
			factory.getConfiguration().addInterceptor(interceptor);
		}
	}

	/**
	 * mybatisplus 分頁攔截器
	 * @return
	 */
	public MybatisPlusInterceptor mybatisPlusInterceptor() {
		MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
		TenantLineInnerInterceptor tenantLineInnerInterceptor=new TenantLineInnerInterceptor();
		tenantLineInnerInterceptor.setTenantLineHandler(new MyTenantLineHandler(configProperties));
		interceptor.addInnerInterceptor(tenantLineInnerInterceptor);
		interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
		return interceptor;
	}
}

到了這里,關于mybatis-plus分頁total為0,分頁失效,mybatis-plus多租戶插件使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Mybatis-Plus集成Sharding-JDBC與Flyway實現(xiàn)多租戶分庫分表

    Mybatis-Plus集成Sharding-JDBC與Flyway實現(xiàn)多租戶分庫分表

    公司產(chǎn)品部收到了一些重要客戶的需求,他們希望能夠依賴獨立的數(shù)據(jù)庫存儲來支持他們的業(yè)務數(shù)據(jù)。與此同時,仍有許多中小客戶,可以繼續(xù)使用公共庫以滿足其需求。技術實現(xiàn)方面,此前持久層框架使用的Mybatis-plus,部分業(yè)務場景使用到了Sharding-JDBC用于分表,另外,我們

    2024年02月05日
    瀏覽(24)
  • mybatis-plus分頁方式

    mybatis-plus分頁方式

    概述 MyBatisPlus中提供的(自帶的)分頁插件,非常簡單,只需要簡單的配置就可以實現(xiàn)分頁功能。 詳細步驟: 第一步::config.MybatisPlusConfig.java:配置類,配置mybatisplus的插件功能。 第二步:驗證(測試): 官網(wǎng)介紹: IXxxService.java: XxxServiceImpl.java: XxxController.java 業(yè)務(

    2024年02月16日
    瀏覽(17)
  • Mybatis-Plus手動分頁

    ?TableDataInfo ?serviceImpl.selectPageQueryUserList

    2024年02月11日
    瀏覽(16)
  • MyBatis與MyBatis-Plus的分頁以及轉換

    MyBatis和MyBatis-Plus都是Java持久化框架,用于簡化數(shù)據(jù)庫訪問和操作。它們提供了面向對象的方式來管理關系型數(shù)據(jù)庫中的數(shù)據(jù)。 MyBatis 是一個輕量級的持久化框架,通過XML或注解配置,將SQL語句與Java對象進行映射,使開發(fā)者可以使用簡單的API來執(zhí)行數(shù)據(jù)庫操作。MyBatis支持動態(tài)

    2024年02月11日
    瀏覽(26)
  • MyBatis-Plus 分頁設置不生效

    MyBatis-Plus 分頁設置不生效

    在配置類上加攔截器 2.當你設置了數(shù)據(jù)源需要在數(shù)據(jù)源上添加攔截器

    2024年02月15日
    瀏覽(18)
  • mybatis-plus實現(xiàn)分頁查詢

    mybatis-plus實現(xiàn)分頁查詢

    分頁查詢使用的方法是: IPage:用來構建分頁查詢條件 Wrapper:用來構建條件查詢的條件,目前我們沒有可直接傳為Null IPage:返回值,你會發(fā)現(xiàn)構建分頁條件和方法的返回值都是IPage IPage是一個接口,我們需要找到它的實現(xiàn)類來構建它,具體的實現(xiàn)類,可以進入到IPage類中按ctrl+

    2023年04月08日
    瀏覽(23)
  • Mybatis-Plus學習4 Page分頁

    Mybatis-Plus學習4 Page分頁

    ctrl + P = 查看可填的屬性類型? alt + 回車 = 自動填充數(shù)據(jù)類型 1、使用Page分頁需要先配置config類,加上攔截器 type-aliasys-package配置pojo對象別名對應的包 自定義的Mapper的page查詢: 樂觀鎖 和 悲觀鎖 悲觀鎖: 悲觀鎖的思想是,在操作數(shù)據(jù)之前,先假設其他并發(fā)操作會對數(shù)據(jù)進行

    2024年02月12日
    瀏覽(16)
  • 使用lombok注解導致mybatis-plus TypeHandler失效

    建立實體其中一個字段為枚舉類 希望數(shù)據(jù)庫存的時對應的數(shù)字 為了和數(shù)據(jù)庫進行轉換,使用了typeHandler 測試發(fā)現(xiàn) 插入/更新typeHandler生效,但是查詢時在將數(shù)據(jù)庫數(shù)據(jù)映射成java實體類的時候報錯 設置的HotEventCreationMethodHandler并沒有生效 我們知道,在不開啟autoResultMap時,會導

    2024年02月07日
    瀏覽(21)
  • MyBatis-Plus分頁查詢(快速上手運用)

    MyBatis-Plus分頁查詢(快速上手運用)

    Mybatis-Plus知識點[MyBatis+MyBatis-Plus的基礎運用]_心態(tài)還需努力呀的博客-CSDN博客?? Mybatis-Plus+SpringBoot結合運用_心態(tài)還需努力呀的博客-CSDN博客 MyBaits-Plus中@TableField和@TableId用法_心態(tài)還需努力呀的博客-CSDN博客 MyBatis-Plus中的更新操作(通過id更新和條件更新)_心態(tài)還需努力呀的博

    2024年02月16日
    瀏覽(22)
  • Mybatis-plus 分頁 自定義count方法

    使用了mybatisplus 語句中有order by 語法 mybatisplus會使用 select count(*) from (子語句) TOTAL 算出total 但是會報錯 查詢條件QueryWrapper中還有order by排序條件,則生成的select count(*) from(sql) 就會報錯 除非另外還指定了 TOP、OFFSET 或 FOR XML,否則,ORDER BY 子句在視圖、內(nèi)聯(lián)函數(shù)、派生表、子查

    2024年04月23日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包