文章描述了在一个项目中引入ClickHouse数据库后出现的异常情况,具体表现为Bean注销异常和数据连接获取失败异常。通过排查发现问题根源是MySQL和ClickHouse两个数据源设置了相同的name属性,导致在销毁连接池时发生错误。解决方法是让数据源自动生成name属性,避免重名导致连接池关闭的问题。文章总结了在配置多数据源时需要小心连接池配置,尤其是对于name属性的设置。
存档: 2024 年 01 月 (2)
记一次mybatis与mybatisplus及mysql与cilickhouse共存遇到的问题 有更新!
在维护一个老项目时,考虑引入Mybatis-plus作为持久层,但在使用easy-code生成模板信息后遇到了Invalid bound statement异常。解决方案包括修改XML路径及实体别名映射配置,手动设置SqlSessionFactory为MybatisSqlSessionFactoryBean,并注意设置主键ID的生成方式。
同时,由于项目涉及日志记录,需要对日志存储进行改造,将后续日志请求落库到Clickhouse中。为此,进行了Clickhouse数据源和MySQL数据源的配置,使用Mybatis-plus增强的MybatisSqlSessionFactoryBean,同时集成分页插件。整体改造涉及持久层、数据源配置和日志存储,以适应项目的新需求和技术栈更新。