多数据源导致分页插件分页异常解决

本文介绍了在遇到多数据源导致的分页插件异常时,如何从`com.github.fangjinuo.sqlhelper`迁移到`com.github.pagehelper`来解决问题。在数据驱动配置类中,详细展示了更新`SqlSessionFactory`的步骤,包括设置分页拦截器及其属性,确保在MySQL环境下分页功能正常工作。同时,文章还简要介绍了Python中的元组概念及其操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里分析一个多数据源导致分页插件分页异常解决

原先的分页插件:

com.github.fangjinuo.sqlhelper

更换:

com.github.pagehelper

在数据驱动配置类修改:

 @Bean(name = "masterSqlSessionFactory")
    @Primary
    public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource masterDataSource)
            throws Exception {
        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setDataSource(masterDataSource);
        sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
                .getResources(MasterDataSourceConfig.MAPPER_LOCATION));
        //分页插件
        Interceptor interceptor = new PageInterceptor();
        Properties properties = new Properties();
        //数据库
        properties.setProperty("helperDialect", "mysql");
        //是否将参数offset作为PageNum使用
        properties.setProperty("offsetAsPageNum", "true");
        //是否进行count查询
        properties.setProperty("rowBoundsWithCount", "true");
        //是否分页合理化
        properties.setProperty("reasonable", "false");
        interceptor.setProperties(properties);
        sessionFactory.setPlugins(new Interceptor[] {interceptor});
        
    return sessionFactory.getObject();
  }

Tuple 元组

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。元组中的元素类型也可以不相同

tuple = ( 'abc', 123 , 4.56, 'phor', 88.6)
tinytuple = (876, 'hello')

print(tuple)  # 输出完整元组
print(tuple[0])  # 输出元组的第一个元素
print(tuple[1:3])  # 输出从第二个元素开始到第三个元素
print(tuple[2:])  # 输出从第三个元素开始的所有元素
print(tinytuple * 2)  # 输出两次元组
print(tuple + tinytuple)  # 连接元组
('abc', 123, 4.56, 'phor', 88.6)
abc
(123, 4.56)
(4.56, 'phor', 88.6)
(876, 'hello', 876, 'hello')
('abc', 123, 4.56, 'phor', 88.6, 876, 'hello')

元组同字符串类似,可以被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取。 在理解上,可以把字符串看作一种特殊的元组。

  • 1、与字符串一样,元组的元素不能修改。[但它可以包含可变的对象,比如list列表]
  • 2、元组也可以被索引和切片,方法一样。
  • 3、注意构造包含 0 或 1 个元素的元组的特殊语法规则。
  • 4、元组也可以使用+操作符进行拼接。

构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:

tuple1 = ()    # 空元组
tuple2 = (20,) # 一个元素,需要在元素后添加逗号

string、list 和 tuple 都属于 sequence(序列)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

溜达的大象

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值