行云数据库
客户要求,需要将MySQL替换为国产行云数据库(cirrodata)。@Override//处理pageKey//处理参数配置@Override)");
·
文章目录
前言
客户要求,需要将MySQL替换为国产行云数据库(cirrodata)。
一、Mybatis-Plus整合国产行云数据库(cirrodata)
CirroData是北京东方国信科技股份有限公司历时九年自主研发的企业级新一代云化数据库。
CirroData官网地址
二、使用步骤
1.引入依赖
依赖如下(需要联系技术支持人员获取):
libthrift-0.14.0.jar
lz4-1.3.0.jar
slf4j-api-1.7.28.jar
XCloudJDBC-2.15.4.jar
XCloudJDBC_SP_Procedure_Parser-0.1.7.jar
2.修改数据库连接信息
代码如下(示例):
spring:
datasource:
driver-class-name: com.bonc.xcloud.jdbc.XCloudDriver
url: jdbc:xcloud:@ip:port/database
username: username
password: password
3.MyCirroDataDialect自定义方言
代码如下(示例):
public class MyCirroDataDialect extends AbstractHelperDialect {
@Override
public Object processPageParameter(MappedStatement ms, Map<String, Object> paramMap, Page page, BoundSql boundSql, CacheKey pageKey) {
paramMap.put(PAGEPARAMETER_FIRST, page.getStartRow());
paramMap.put(PAGEPARAMETER_SECOND, page.getEndRow());
//处理pageKey
pageKey.update(page.getEndRow());
pageKey.update(page.getStartRow());
//处理参数配置
handleParameter(boundSql, ms, long.class, long.class);
return paramMap;
}
@Override
public String getPageSql(String sql, Page page, CacheKey pageKey) {
StringBuilder sqlBuilder = new StringBuilder(sql.length() + 16);
sqlBuilder.append(sql);
sqlBuilder.append("\n LIMIT ( ?, ? )");
return sqlBuilder.toString();
}
}
4.修改自动分页配置
代码如下(示例):
pagehelper:
# 自定义方言,此处填写全限定类名
helperDialect: com.xxx.MyCirroDataDialect
# 默认是count(1),需要改为count(*)
count-column: '*'
5.startPage替换为offsetPage
代码如下(示例):
PageMethod.offsetPage((pageParam.getPageNum() - 1 ) * pageParam.getPageSize(), pageParam.getPageSize(), pageParam.getCount());
更多推荐
所有评论(0)