公司使用MyBatis-plus版本為3.0.7.1,mybatis-plus3.4.2對clickhouse是支持的,無奈怕升級影響大,只能在現有基礎上調整mybatis-plus代碼了。
mybatis
在項目中將mybatis-plus源碼引入到項目工程
修改DbType,加入clickhouse的支持
修改PagingationInterceptor以支持clickhouse的處理,否則直接報不支持該數據庫。
修改JdbcUtils,加入對clickhouse的支持,同時閱讀mybatis-plus3.4.2的相關源碼,進行如下修改
如果clickhouse的sql沒有使用特殊用法,比如global join,并且沒有使用Druid數據庫連接池, 那么可以不進行其他設置。如果使用了Druid數據庫連接池,那么就會報錯了,因為Druid數據庫連接池不支持global join會直接報錯,最新版本不知道是否修復了該問題。
對于這個問題可以使用mybatis的數據庫連接池來解決
至此mybatis-plus可以和clickhouse完美整合了