- 36. MyBatis如何支持多数据库操作?如何配置不同的数据源?
这孩子叫逆
Mybatis笔记mybatis数据库
在许多企业级应用中,可能需要访问多个数据库。MyBatis可以通过配置多个数据源和动态切换数据源来支持多数据库操作。下面介绍如何在MyBatis中配置和使用多个数据源。1.多数据源的基本配置1.1配置多个数据源要支持多个数据源,首先需要在Spring或SpringBoot中配置不同的数据源。假设我们要连接两个数据库db1和db2,可以通过以下步骤进行配置。SpringBoot示例:applicat
- 滚雪球学MyBatis(11):项目实战
bug菌¹
《滚雪球学MyBatis》mybatisjava零基础入门
前言欢迎回到我们的MyBatis系列教程。在前几期中,我们详细探讨了MyBatis的进阶使用,包括多数据源配置、动态SQL生成器、MyBatisGenerator的使用以及实现复杂查询的方法。这些知识点帮助我们在复杂的业务场景中更高效地使用MyBatis。本期内容中,我们将结合前面的所有知识点,进行一个完整的项目实战。通过实际项目的练习,大家将能够更好地巩固所学知识,并将其应用到实际开发中。11.
- Springboot项目中使用druid实现多数据源和动态数据源,因数据库不可用导致的项目挂起的处理方案
LOVE_DDZ
Spring-BootMybatisspringboot数据库后端
Springboot项目中使用druid因数据库不可用导致的项目挂起的处理方案在SpringBoot项目中使用Druid实现多数据源和动态数据源管理是一个常见的场景。通过合理的配置和错误处理机制,您可以有效地管理数据源,避免因数据库不可用而导致整个项目挂起。1.配置多数据源在application.yml或application.properties中配置多个数据源信息:spring:dataso
- SpringBoot多数据源配置
代码蒋
springbootjava
目录1SpringBoot分库配置1.1准备数据1.2springboot+mybatis使用分包方式整合1.2.1pom.xml1.2.2application.yml配置文件1.2.3连接数据源配置文件1.2.3.1连接源配置一1.2.3.2连接源配置二1.2.4项目结构1.3springboot+druid+mybatisplus使用注解整合1.3.1pom.xml1.3.2applicat
- SpringBoot3配置dynamic多数据源,url找不到。Failed to configure a DataSource: ‘url‘ attribute is not specified a
Java小白笔记
SpringBootjavamavenintellij-ideaspringboot
SpringBoot3配置dynamic多数据源,url找不到。FailedtoconfigureaDataSource:‘url’attributeisnotspecifiedandnoembeddeddatasourcecouldbeconfigured.我在编写springboot项目时尝试使用dynamic-datasource实现多数据库连接运行项目时报错退出Failedtoconfig
- 多数据源实现事务管理
二掌柜,酒来!
jdbc数据库javasql
目录一.原理-编程式事务管理1.核心接口1.1PlatformTransactionManager1.2TransactionDefinition隔离级别IsolationLevel常用状态分析:读取现象不可重复读和幻读比较:隔离级别与读取现象常见数据库默认隔离级别传播性Propagation1.3TransactionStatus二、实现跨数据源事务定义注解定义切面使用一.原理-编程式事务管理想
- java ssm项目心得总结_SSM整合,个人总结和step
funny horse
javassm项目心得总结
我最近才整合完SSM。前段时间,分开学习了这三个框架,都是看某黄埔军校的视频,整合的部分没看视频,想自己做。但是有一些部分自己没有能完成,主要是如何从spring容器里取出ApplicationContext,这个我的实现比较low,看了看讲义,才OK的。我的实现:[java]viewplaincopyWebApplicationContextacc=WebApplicationContextUt
- 【ElasticSearch】logstash-conf文件mysql多数据源配置
日月星宿~
应用elasticsearch
logstash-conf文件mysql多数据源导入es配置说明#inputplugin输入插件,接收事件源input{jdbc{#定义类型_1type=>"type_1"#mysql的ip、端口以及用到的数据库名jdbc_connection_string=>"jdbc:mysql://localhost:3306/数据库名"#mysql用户名jdbc_user=>""#mysql密码jdbc_
- Spring Boot 多数据源配置
清晨细雨~
springbootjava数据库
1.项目结构src├──main│├──java││└──org││└──songtang││└──springbootdynamic││├──config││├──controller││├──entity││├──mapper│││├──master│││└──slave││└──service│└──resources│└──mapper│├──master│└──slave└──testp
- DB-GPT开源项目文档入门
AlphaFree_
微信公众号文章gpt
DB-GPT开源项目文档入门(qq.com)场景:服务中小金融机构、服务业小微商家DB-GPT项目集成了多模型管理、多数据源管理、Text2SQL、增强检索RAG、生成式BI、多智能体,一个大而全的开源框架项目基本信息简介:一个原生数据应用开发框架技术能力:服务化多模型管理框架(SMMF,Service-orientedMulti-modelManagementFramework)Text2SQL
- 【SSM Spring 5.0.2 SpringMVC Mybatis Eclipse IDEA Maven】SSM框架整合記錄 2019_6_30
今心木目
SpringFrameworkMybatisSpringSpringMVCMybatisSpring5SSM
SSM整合官方资料SSM需要的Jar列表(含Maven)jar包Maven坐标配置步骤Mybatis相关配置文件mybatis-config.xmlBeanXXXmapper.xmldbconfig.propertiesSpring相关配置文件web.xmlapplicationContext.xmldbconfig.propertiesSpringMVC相关配置spring-servlet.xm
- Spring Boot 中动态数据源配置与使用详解
码农阿豪@新空间代码工作室
包罗万象收集springbootandroid后端
SpringBoot中动态数据源配置与使用详解在现代应用中,处理多数据源是常见的需求。可能由于业务需要,或者为了实现读写分离,我们往往需要在同一个应用中配置多个数据源,并根据具体的操作选择不同的数据源。在SpringBoot中,这样的需求可以通过动态数据源来轻松实现。本篇博客将详细介绍如何在SpringBoot中配置和使用动态数据源,并演示如何切换到指定的数据源。一、为什么要使用动态数据源?业务隔
- 多数据源@DS注解失效原因
guicai_guojia
springspringbootjava开发语言
在Java中,使用@DS(DataSource)注解进行数据库连接配置时,如果注解失效,可能有以下几个原因:1.注解位置不正确:-确保@DS注解放在正确的类或者方法上。通常它应该放在需要切换数据源的类或方法上。2.SpringBoot或Spring配置问题:-确保Spring的配置文件(如`application.properties`或`application.yml`)中正确配置了数据源信息。
- dynamic-datasource-spring-boot-starter多数据源配置
wyazyf
java多数据源配置
这种多数据源的配置方式可以不用区分包和扫描路径。放在同一路径下即可。默认在主数据库中加载。调用其他数据源的时候,只需要在mapper.java文件上配置@DS(“mainData”)即可。pom依赖com.baomidoudynamic-datasource-spring-boot-starter3.5.1yml配置spring:application:name:wydatasource:dyna
- Spring Boot实现简单的Oracle数据库操作
赵 XiaoQin
springboot数据库后端
使用到的技术:1.SpringBoot:用于简化Spring应用的开发。2.DynamicDataSource:实现动态多数据源的访问和切换3.OracleJDBCDriver:与Oracle数据库进行连接和交互。4.Mybatis-Plus:简化SQL映射和数据库访问。其中BaseMapper接口提供了对数据表进行基本操作的功能。5.Lombok:用于简化Java类的开发,自动生成常用的代码,比
- SSM 整合使用 @PropertySource 问题
Gambler_Tu
spring数据库javaspring
SSM整合使用@PropertySource问题如果你想将数据库连接的相关属性移入一个classpath下的“.properties”文件中,让后再在上述配置类中结合@PropertySource和@Value来加载.properties配置文件,引入相关属性值,那么,你会发现一个问题,你的@Value读取到的属性值都是null!造成这个现象的原因在在于,我们是使用的MapperScannerCo
- java springcloud 微服务设计方案
IT祖师爷
springcloud+springcloudAlibaba+flowable流程引擎1.代码生成器:[正反双向](单表、主表、明细表、树形表,快速开发利器)freemaker模版技术,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本、处理类、service等完整模块2.多数据源:(支持同时连接无数个数据库,可以不同的模块连接不同数的据库)支持N个数据源3.阿里数据库连接池druid,安
- spring mvc 配置多数据源
天狼1222
springspringmvc多数据源
程序是使用的是springJdbcTemplate架构,简要记录下配置多数据源的方法:1,设置数据源:在application.properties文件中配置多个数据源,示例中我配置了2个数据源,如下:A、oraclejdbc.driver=oracle.jdbc.OracleDriverjdbc.url=jdbc:oracle:thin:@1localhost:1521:devjdbc.user
- springboot jpa设置多数据源
蓝色格子
springbootjpa多数据源
项目使用springbootjpa作为数据持久层,这里记录多数据源配置的信息。1.数据库配置文件这里注意spring.datasource.user和spring.datasource.system在后面多数据源配置时需要使用。如果是单一数据源配置,就不需要user和system这一层。spring:datasource:user:jdbc-url:jdbc:mysql://192.168.1.2
- mybatis-plus(五)-mybatis处理多数据源
自信人间三百年
mybatis-plusmybatisandroid
mybatisplus多数据源引入依赖com.baomidoudynamic-datasource-spring-boot-starter2.5.6配置文件创建一个数据用户,控制其权限mysql>createuser'slave01'@'%'identifiedWITHmysql_native_passwordby'123';QueryOK,0rowsaffected(0.00sec)mysql>
- 多数据源支持
wangbing1125
java
平台倡导分布数据库,最简单的分库逻辑是按业务领域,例如人力资源系统一个库,客户关系管理一个库(举个例子而已,在平台正式的系统中,人力资源系统又细分为核心库、绩效管理库、薪资管理库等)。一个微服务对应单个数据源。看过很多项目,号称是微服务架构,但是多个微服务实际上联的是同一个库;各个微服务之间实际上不相互调用,需要取数据时,直接从对应表里拿数据,从而导致有大量的重复代码(公用的表对应的实体类、数据访
- 配置hikari数据库连接池时多数据源不生效
qiaobing1226
数据库
1.原始配置,改造前:spring:#配置数据源信息datasource:dynamic:#设置默认的数据源或者数据源组,默认值即为masterprimary:masterstrict:truedatasource:#这里采用了配置文件取值的方式,可以直接替换为数据库连接master:url:jdbc:postgresql://127.0.0.1:1921/check_dbusername:che
- SSM详细速成
一叉树
mybatisjavamysqlspringmvc
ssm速成此文对狂神说ssm整合进行解读mybatis学习+测试pojo.Books@AllArgsConstructor@NoArgsConstructor@DatapublicclassBooks{privateintbookId;privateStringbookName;privateintbookCounts;privateStringdetail;}mybatis.xml核心文件设置连
- SpringMVC速成(二)
小金的学习笔记
Javajava后端
文章目录SpringMVC速成(二)1.SSM整合1.1流程分析1.2整合配置步骤1:创建Maven的web项目步骤2:添加依赖步骤3:创建项目包结构步骤4:创建SpringConfig配置类步骤5:创建JdbcConfig配置类步骤6:创建MybatisConfig配置类步骤7:创建jdbc.properties步骤8:创建SpringMVC配置类步骤9:创建Web项目入口配置类1.3功能模块开
- SpringMVC
西南方向
javaservletmvcspringajax
SpringMVC1.SpringMVC简介1.1概念1.2SpringMVC执行原理2.第一个SpringMVC2.1不使用注解2.2使用注解3.Controller&RestFul3.1RestFul3.2转发与重定向3.3接收参数与数据回显3.4乱码问题4.JSON4.1初识JSON4.2Jackson-Databind4.3FastJson5.SSM整合5.1环境准备5.2项目结构5.3整
- ssm整合教师管理系统项目案例
白日做梦0.0
mavenspringmybatisjunittomcatjavaintellij-idea
一、整合说明Spring+SpringMVC+MyBatis的整合,它是一种轻量级的企业级框架,能够帮助开发者快速构建高效的JavaWeb应用程序。spring:Spring是一个轻量级的Java开发框架,提供了控制反转(IoC)和面向切面编程(AOP)等功能。通过IoC容器来实现对象的创建、组装和管理。springmvc:springmvc是基于Spring的MVC框架,用于构建Web应用程序。
- springboot mybatis 多数据源组合使用
蜗牛_3c49
项目结构@Configuration@MapperScan(basePackages="com.example.demo3.mapper.mapper23",sqlSessionTemplateRef="primarySqlSessionTemplate")publicclassDataSource23Config{@Bean(name="primaryDataSource")@Configura
- SSM整合:spring层,springMVC层-P17,18
Asteroid-110
SpringMVCspringMyBatisspringjava后端
applicationContext.xml:(将三个层的配置文件整合到一个xml里面)database.properties:(数据库连接配置文件)jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncodi
- 学生管理系统(SSM简易版)总结
沈荣荣
SSM
技术准备为了完成这个项目,需要掌握如下技术:Java基础知识前端:HTML,CSS,JAVASCRIPT,JQUERYJ2EE:Tomcat,Servlet,JSP,Filter框架:Spring,SpringMVC,MyBatis,Spring与MyBatis整合,SSM整合数据库:MySQL开发工具:IDEA,Maven开发流程之前虽然已经使用Servlet+JSP完成了简单的开发,这次使用S
- spring data jpa 环境搭建
kyoxue
单数据源配置因为实际项目多是多数据源配置,所以单数据源这里简单描述带过POM依赖org.Springframework.bootspring-boot-starter-data-jpamysqlmysql-connector-javaspringboot配置spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=G
- C/C++Win32编程基础详解视频下载
择善Zach
编程C++Win32
课题视频:C/C++Win32编程基础详解
视频知识:win32窗口的创建
windows事件机制
主讲:择善Uncle老师
学习交流群:386620625
验证码:625
--
- Guava Cache使用笔记
bylijinnan
javaguavacache
1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。
实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。
2.Guava
- 解决ora-01652无法通过128(在temp表空间中)
0624chenhong
oracle
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
分析过程:
既然是temp表空间有问题,那当
- Struct在jsp标签
不懂事的小屁孩
struct
非UI标签介绍:
控制类标签:
1:程序流程控制标签 if elseif else
<s:if test="isUsed">
<span class="label label-success">True</span>
</
- 按对象属性排序
换个号韩国红果果
JavaScript对象排序
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
- 大数据分析让个性化的客户体验不再遥远
蓝儿唯美
数据分析
顾客通过多种渠道制造大量数据,企业则热衷于利用这些信息来实现更为个性化的体验。
分析公司Gartner表示,高级分析会成为客户服务的关键,但是大数据分析的采用目前仅局限于不到一成的企业。 挑战在于企业还在努力适应结构化数据,疲于根据自身的客户关系管理(CRM)系统部署有效的分析框架,以及集成不同的内外部信息源。
然而,面对顾客通过数字技术参与而产生的快速变化的信息,企业需要及时作出反应。要想实
- java笔记4
a-john
java
操作符
1,使用java操作符
操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不用,但是效果是相同的。加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的
- 从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序
aijuans
嵌入式学习
笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为基于Linux操作系统编程,讲这个思想转变的书几乎没有,让初学者走了很多弯路,撞了很多难墙。
笔者因此写上自己的学习心得,希望能给和我一样转变
- 在springmvc中解决FastJson循环引用的问题
asialee
循环引用fastjson
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import co
- ArrayAdapter和SimpleAdapter技术总结
百合不是茶
androidSimpleAdapterArrayAdapter高级组件基础
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this
- 九封信
bijian1013
人生励志
有时候,莫名的心情不好,不想和任何人说话,只想一个人静静的发呆。有时候,想一个人躲起来脆弱,不愿别人看到自己的伤口。有时候,走过熟悉的街角,看到熟悉的背影,突然想起一个人的脸。有时候,发现自己一夜之间就长大了。 2014,写给人
- Linux下安装MySQL Web 管理工具phpMyAdmin
sunjing
PHPInstallphpMyAdmin
PHP http://php.net/
phpMyAdmin http://www.phpmyadmin.net
Error compiling PHP on CentOS x64
一、安装Apache
请参阅http://billben.iteye.com/admin/blogs/1985244
二、安装依赖包
sudo yum install gd
- 分布式系统理论
bit1129
分布式
FLP
One famous theory in distributed computing, known as FLP after the authors Fischer, Lynch, and Patterson, proved that in a distributed system with asynchronous communication and process crashes,
- ssh2整合(spring+struts2+hibernate)-附源码
白糖_
eclipsespringHibernatemysql项目管理
最近抽空又整理了一套ssh2框架,主要使用的技术如下:
spring做容器,管理了三层(dao,service,actioin)的对象
struts2实现与页面交互(MVC),自己做了一个异常拦截器,能拦截Action层抛出的异常
hibernate与数据库交互
BoneCp数据库连接池,据说比其它数据库连接池快20倍,仅仅是据说
MySql数据库
项目用eclipse
- treetable bug记录
braveCS
table
// 插入子节点删除再插入时不能正常显示。修改:
//不知改后有没有错,先做个备忘
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove
- 编程之美-电话号码对应英语单词
bylijinnan
java算法编程之美
import java.util.Arrays;
public class NumberToWord {
/**
* 编程之美 电话号码对应英语单词
* 题目:
* 手机上的拨号盘,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,
* 要求对一段数字,输出其代表的所有可能的字母组合
- jquery ajax读书笔记
chengxuyuancsdn
jQuery ajax
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
- JWFD工作流拓扑结构解析伪码描述算法
comsci
数据结构算法工作活动J#
对工作流拓扑结构解析感兴趣的朋友可以下载附件,或者下载JWFD的全部代码进行分析
/* 流程图拓扑结构解析伪码描述算法
public java.util.ArrayList DFS(String graphid, String stepid, int j)
- oracle I/O 从属进程
daizj
oracle
I/O 从属进程
I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会
- 高级排序:希尔排序
dieslrae
希尔排序
public void shellSort(int[] array){
int limit = 1;
int temp;
int index;
while(limit <= array.length/3){
limit = limit * 3 + 1;
- 初二下学期难记忆单词
dcj3sjt126com
englishword
kitchen 厨房
cupboard 厨柜
salt 盐
sugar 糖
oil 油
fork 叉;餐叉
spoon 匙;调羹
chopsticks 筷子
cabbage 卷心菜;洋白菜
soup 汤
Italian 意大利的
Indian 印度的
workplace 工作场所
even 甚至;更
Italy 意大利
laugh 笑
m
- Go语言使用MySQL数据库进行增删改查
dcj3sjt126com
mysql
目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势成为了很多Web开发的后端数据库存储引擎。MySQL驱动Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:
http://code.google.c...o-mysql-dri
- git命令
shuizhaosi888
git
---------------设置全局用户名:
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "
[email protected]" //设置邮箱
---------------查看环境配置
git config --li
- qemu-kvm 网络 nat模式 (四)
haoningabc
kvmqemu
qemu-ifup-NAT
#!/bin/bash
BRIDGE=virbr0
NETWORK=192.168.122.0
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DHCPRANGE=192.168.122.2,192.168.122.254
TFTPROOT=
BOOTP=
function check_bridge()
- 不要让未来的你,讨厌现在的自己
jingjing0907
生活 奋斗 工作 梦想
故事one
23岁,他大学毕业,放弃了父母安排的稳定工作,独闯京城,在家小公司混个小职位,工作还算顺手,月薪三千,混了混,混走了一年的光阴。 24岁,有了女朋友,从二环12人的集体宿舍搬到香山民居,一间平房,二人世界,爱爱爱。偶然约三朋四友,打扑克搓麻将,日子快乐似神仙; 25岁,出了几次差,调了两次岗,薪水涨了不过百,生猛狂飙的物价让现实血淋淋,无力为心爱银儿购件大牌
- 枚举类型详解
一路欢笑一路走
enum枚举详解enumsetenumMap
枚举类型详解
一.Enum详解
1.1枚举类型的介绍
JDK1.5加入了一个全新的类型的”类”—枚举类型,为此JDK1.5引入了一个新的关键字enum,我们可以这样定义一个枚举类型。
Demo:一个最简单的枚举类
public enum ColorType {
RED
- 第11章 动画效果(上)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
ljf_home
eclipsejsp卡死js卡死
使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下:
1、取消验证
windows–>perferences–>validation
把 除了manual 下面的全部点掉,build下只留 classpath dependency Valida
- MySQL编程中的6个重要的实用技巧
tomcat_oracle
mysql
每一行命令都是用分号(;)作为结束
对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:
mysql_query("INSERT INTO tablename(first_name,last_name)VALUES('$first_name',$last_name')");
- zoj 3820 Building Fire Stations(二分+bfs)
阿尔萨斯
Build
题目链接:zoj 3820 Building Fire Stations
题目大意:给定一棵树,选取两个建立加油站,问说所有点距离加油站距离的最大值的最小值是多少,并且任意输出一种建立加油站的方式。
解题思路:二分距离判断,判断函数的复杂度是o(n),这样的复杂度应该是o(nlogn),即使常数系数偏大,但是居然跑了4.5s,也是醉了。 判断函数里面做了3次bfs,但是每次bfs节点最多