戴志强1
Published on 2025-08-13 / 26 Visits
0
0

dme-sdk升级到framework-db

dme-sdk升级到framework-db

1. pom 修改

顶层pom修改:

mom-sdk-api 使用 2.0.4-SNAPSHOT 版本

image-CYTT.png

image-iRlI.png

image-IcEx.png

biz pom.xml

image-NlfF.png

image-jCmW.png

image-xtgK.png

业务配置文件 xxx-biz.yml 新增以下的配置:


mybatis-flex:
  configuration:
    variables:
      dbType: ${store.dbType:dme}



# 按需 加入mysql, pg 的支持
#  datasource:
#    url: jdbc:postgresql://10.10.18.170:5432/test_db?options=-c%20TimeZone%3DAsia/Shanghai&stringtype=unspecified&serverTimezone=UTC&allowMultiQueries=true
#    username: postgres
#    password: nhdTaVMSAC
#    driver-class-name: org.postgresql.Driver
#  datasource:
#    driver-class-name: com.mysql.cj.jdbc.Driver
#    username: ${MYSQL_USER:root}
#    password: ${MYSQL_PWD:123456}
#    url: jdbc:mysql://localhost:3306/a_design?serverTimezone=UTC&characterEncoding=utf8



2. 代码修改

@MapperScan 注解加入扫描工厂 DbTypeMapperFactoryBean.class

@MapperScan(basePackages = {"mapper路径..."},
        factoryBean = DbTypeMapperFactoryBean.class)

修复一下的报错:

1. mybatis-plus,flex --> flex, db-sdk-core
import com.sie.dme.sdk.annotation.Column ==> import com.mybatisflex.annotation.Column
import com.sie.dme.sdk.annotation.Table ==> import com.mybatisflex.annotation.Table
import com.baomidou.mybatisplus.annotation.TableId ==> import com.mybatisflex.annotation.Id
import com.baomidou.mybatisplus.annotation.IdType ==> import com.mybatisflex.annotation.KeyType
import com.baomidou.mybatisplus.annotation.TableName; ==> 删除


com.sie.mbm.mom.framework.db

import com.sie.dme.sdk.annotation.DmeTransactional ==> import com.sie.mbm.mom.framework.db.annotation.DmeTransactional

import com.sie.dme.sdk.core.MbmMapper ==> import com.sie.mbm.mom.framework.db.MbmMapper 
import com.sie.dme.sdk.core.DmeMapper ==> import com.sie.mbm.mom.framework.db.DmeMapper 
import com.sie.dme.sdk.core.util.QueryWrapperUtil ==> com.sie.mbm.mom.framework.db.util.QueryWrapperUtil

import com.sie.dme.sdk.core.query ==> import com.mybatisflex.core.query
import com.sie.dme.sdk.core.paginate ==> import com.mybatisflex.core.paginate
import com.sie.dme.sdk.core.row ==> import com.mybatisflex.core.row

import com.sie.dme.sdk.executeDme.exception ==> import com.sie.mbm.mom.framework.db.executeDme.exception
import com.sie.dme.sdk.executeDme.vo ==>  import com.sie.mbm.mom.framework.db.executeDme.vo
import com.sie.dme.sdk.executeDme.service ==> import com.sie.mbm.mom.framework.db.executeDme.service
import com.sie.dme.sdk.executeDme.context ==>  // import com.sie.dme.sdk.executeDme.context



com.sie.dme.sdk.core.util.CollectionUtil ==> cn.hutool.core.collection.CollectionUtil
com.sie.dme.sdk.core.entity.TenantEntity ==> com.mybatisflex.core.entity.TenantEntity




com.sie.dme.sdk.executeDme.annotation.DmeSelectType ==> com.sie.mbm.mom.framework.db.executeDme.annotation.DmeSelectType

com.sie.dme.sdk.executeDme.enums.DmeSelectTypeEnum ==> com.sie.mbm.mom.framework.db.executeDme.enums.DmeSelectTypeEnum






3. framework
import com.sie.mbm.mom.framework.data.base ==> import com.sie.imom.framework.data.base
import com.sie.mbm.mom.framework.sentinel.utils ==> import com.sie.imom.common.core.util
import com.sie.mbm.mom.framework.sentinel.exception ==> import com.sie.imom.common.core.exception

import com.sie.mbm.mom.framework.feign ==> import com.sie.imom.framework.feign
import com.sie.mbm.mom.framework.security ==> import com.sie.imom.framework.security
import com.sie.mbm.mom.framework.swagger.annotation.EnableOpenApi; ==> 删除




========= 编译一次, 修复以下报错 ========

1.  删除 @TableName("OrderHeader")
2.  @TableId(type = IdType.ASSIGN_ID) ==> @Id(keyType = KeyType.Generator, value = KeyGenerators.snowFlakeId)
3.  DmeRequestContextHolder.getUserId() ==> Optional.ofNullable(HuaweiTenantContextHolder.get().getSysUser()).orElse(new SysUser()).getId()






Comment