当前位置: 首页 > news >正文

做网站需要哪些素材区块链开发工程师要求

做网站需要哪些素材,区块链开发工程师要求,阿里云域名购买官网,重庆求建网站需求 springboot设计开发一个系统,在这个系统的数据库表中存放着2000个数据库实例,有MySQL、Oracle、sql server3种数据库类型,用户可以在页面上选择不同的实例,连接这些实例上的数据库,来执行业务sql 实现 Service…

需求

springboot设计开发一个系统,在这个系统的数据库表中存放着2000个数据库实例,有MySQL、Oracle、sql server3种数据库类型,用户可以在页面上选择不同的实例,连接这些实例上的数据库,来执行业务sql

实现

@Service
public class DatabaseService {@Autowiredprivate DynamicDataSource dynamicDataSource;@Autowiredprivate JdbcTemplate jdbcTemplate;public void executeSqlOnDatabase(int instanceId, String sql) {// 根据实例ID获取数据库实例信息DatabaseInstance instance = databaseInstanceService.getInstanceById(instanceId);if (instance == null) {throw new IllegalArgumentException("Invalid database instance ID: " + instanceId);}// 构建数据源配置HikariConfig config = new HikariConfig();config.setJdbcUrl(generateJdbcUrl(instance));config.setUsername(instance.getUsername());config.setPassword(instance.getPassword());config.setDriverClassName(getDriverClassName(instance.getDatabaseType()));// 创建数据源HikariDataSource dataSource = new HikariDataSource(config);// 动态添加数据源String dataSourceKey = instance.getIp() + ":" + instance.getPort();dynamicDataSource.addTargetDataSource(dataSourceKey, dataSource);try {// 切换到新的数据源DynamicDataSourceContextHolder.setDataSourceKey(dataSourceKey);// 执行SQLjdbcTemplate.execute(sql);} catch (DataAccessException e) {// 处理异常e.printStackTrace();} finally {// 操作完成后,切换回默认数据源或清理当前数据源DynamicDataSourceContextHolder.clearDataSourceKey();dynamicDataSource.removeTargetDataSource(dataSourceKey);// 关闭数据源dataSource.close();}}private String generateJdbcUrl(DatabaseInstance instance) {String databaseType = instance.getDatabaseType();String ip = instance.getIp();int port = instance.getPort();String databaseName = instance.getDatabaseName();switch (databaseType.toLowerCase()) {case "mysql":return "jdbc:mysql://" + ip + ":" + port + "/" + databaseName;case "oracle":return "jdbc:oracle:thin:@" + ip + ":" + port + ":" + databaseName;case "sqlserver":return "jdbc:sqlserver://" + ip + ":" + port + ";databaseName=" + databaseName;default:throw new IllegalArgumentException("Unsupported database type: " + databaseType);}}private String getDriverClassName(String databaseType) {switch (databaseType.toLowerCase()) {case "mysql":return "com.mysql.cj.jdbc.Driver";case "oracle":return "oracle.jdbc.driver.OracleDriver";case "sqlserver":return "com.microsoft.sqlserver.jdbc.SQLServerDriver";default:throw new IllegalArgumentException("Unsupported database type: " + databaseType);}}
}
public class DynamicDataSourceContextHolder {private static final ThreadLocal<String> CONTEXT_HOLDER = new ThreadLocal<>();public static void setDataSourceKey(String key) {CONTEXT_HOLDER.set(key);}public static String getDataSourceKey() {return CONTEXT_HOLDER.get();}public static void clearDataSourceKey() {CONTEXT_HOLDER.remove();}
}
http://www.yayakq.cn/news/867593/

相关文章:

  • 网站维护知识哪家网络营销好
  • 金华网站建设公司排名沈阳网页设计公司有哪些
  • 没有网站如何做天天联盟wordpress 登陆 代码
  • 建设部网站 注册违规中国114建材网
  • 企业做网站用什么建站系统wordpress首页密码访问
  • 如何快速做网站关键词仿木鱼网络网站
  • 佰汇康网站建设泉州确诊人员名单最新
  • 深圳代做网站网站建设技术方面
  • 塑胶原料东莞网站建设广告设计与制作专业简介
  • ...温岭做网站2019十大网络营销案例
  • 织梦同时运行多个网站建设银行信用卡网站是哪个好
  • 企业首次建设网站方案流程室内设计培训机构排行
  • 网站前台怎么做wordpress支付通道
  • 织梦cms可以做外贸网站吗网站建设项目规划书目录
  • 网站需要维护吗专业建设工作计划
  • 广西建设厅查询网站如何注册网站免费的
  • 免费网站后台模版php网站如何编辑
  • 嘉兴网络推广企业网站的优化和推广方法
  • 国内永久免费crm系统网站推荐重庆江津做网站
  • 建网站挣钱 优帮云北京做网站找谁
  • 电商网站 网站服务内容南通网站建设规划书
  • 高校文明建设网站山东网站seo设计
  • 贵阳两学一做网站苏州公司网站建站
  • 网站一般需要怎么推广河南省级建设主管部门网站
  • 江苏建设厅网站长沙网页设计培训机构
  • 麦积区城乡建设局网站广东网站建设哪家有
  • 开封市做网站的公司lnmp快速安装wordpress
  • 网站联系我们页面高新企业建设网站价格
  • 有哪些网站可以做电子邀请函小说 wordpress
  • 重庆网站建设培训WordPress的数据库在哪