DbSQLServer.java 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package jnpf.database.source.impl;
  2. import com.baomidou.mybatisplus.annotation.DbType;
  3. import jnpf.database.constant.DbConst;
  4. import jnpf.database.source.DbBase;
  5. import jnpf.database.sql.model.DbStruct;
  6. import jnpf.util.TenantHolder;
  7. /**
  8. * SQLServer模型
  9. *
  10. * @author JNPF开发平台组 YY
  11. * @version V3.2.0
  12. * @copyright 引迈信息技术有限公司
  13. * @date 2021/10/06
  14. */
  15. public class DbSQLServer extends DbBase {
  16. /**
  17. * 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。
  18. * 错误:“sun.security.validator.ValidatorException: PKIX path building failed
  19. *
  20. * 可以尝试连接:jdbc:sqlserver://{host}:{port};databaseName={dbname};encrypt=true;trustServerCertificate=true
  21. */
  22. @Override
  23. protected void init() {
  24. setInstance(
  25. SQL_SERVER,
  26. DbType.SQL_SERVER,
  27. com.alibaba.druid.DbType.sqlserver,
  28. "1433",
  29. "sa",
  30. "sqlserver",
  31. "com.microsoft.sqlserver.jdbc.SQLServerDriver",
  32. "jdbc:sqlserver://{host}:{port};databaseName={dbname};trustServerCertificate=true");
  33. }
  34. @Override
  35. public String getConnUrl(String prepareUrl, String host, Integer port, DbStruct struct) {
  36. prepareUrl = super.getConnUrl(prepareUrl, host, port, null);
  37. return prepareUrl.replace(DbConst.DB_NAME, struct.getSqlServerDbName()).replace(DbConst.DB_SCHEMA, struct.getSqlServerDbSchema());
  38. }
  39. @Override
  40. protected String getDynamicTableName(String tableName) {
  41. return TenantHolder.getDatasourceName()+".dbo." + tableName;
  42. }
  43. }