暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在mybatis-plus中增加对GBase 8s的支持

原创 GBASE数据库 2024-03-22
622

在mybatis-plus 3.4.3.2版本之后已经增加了对GBase 8s的支持(使用GBASEDBT类型),在3.5.2版本中变更类型为GBASE8S。如果使用的是其它版本,按照以下进行修改。

mybatis-plus-annotation模块

1, 在 com.baomidou.mybatisplus.annotation.DbType.java 类中增加

1

GBASEDBT("gbasedbt", "南大通用安全数据库(GBase 8s)"),

注册GBase 8s的数据库类型,名称为GBASEDBT

mybatis-plus-extension模块

1, 增加com.baomidou.mybatisplus.extension.plugins.pagination.dialects.GBasedbtDialect.java类

1

2

3

4

5

6

7

8

9

10

11

12

13

package com.baomidou.mybatisplus.extension.plugins.pagination.dialects;

 

import com.baomidou.mybatisplus.extension.plugins.pagination.DialectModel;

 

public class GBasedbtDialect implements IDialect {

 

    @Override

    public DialectModel buildPaginationSql(String originalSql, long offset, long limit) {

        StringBuilder sql = new StringBuilder(originalSql)

            .insert(6, " SKIP " + offset + " FIRST " + limit);

        return new DialectModel(sql.toString());

    }

}

2,在com.baomidou.mybatisplus.extension.plugins.pagination.DialectFactory.java类中增加

1

2

} else if (dbType == DbType.GBASEDBT) {

    dialect = new GBasedbtDialect();

数据库类型GBASEDBT使用的方言类型

3,在com.baomidou.mybatisplus.extension.toolkit.JdbcUtils.java类中的getDbType(String jdbcUrl)中增加

1

2

} else if (url.contains(":gbasedbt-sqli:") ) {

    return DbType.GBASEDBT;

JDBC类型注册

4,增加com.baomidou.mybatisplus.extension.incrementer.GBasedbtKeyGenerator.java类

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

package com.baomidou.mybatisplus.extension.incrementer;

 

import com.baomidou.mybatisplus.annotation.DbType;

import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;

 

public class GBasedbtKeyGenerator implements IKeyGenerator {

 

    @Override

    public String executeSql(String incrementerName) {

        return "SELECT " + incrementerName + ".NEXTVAL FROM DUAL";

    }

 

    @Override

    public DbType dbType() {

        return DbType.GBASEDBT;

    }

}

用于自增长类型

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论