mariadb 如何获取连接信息详细信息?

uqjltbpv  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(305)

我正在使用Spring-Boot和JPA来访问MariaDB。

应用程序.属性

spring.jpa.hibernate.ddl-auto = update
spring.jpa.database-platform = org.hibernate.dialect.MariaDBDialect
spring.jpa.show-sql = false
spring.datasource.url = jdbc:mysql://localhost:3306/abc?serverTimezone=Europe/Paris
spring.datasource.username = myuser
spring.datasource.password = mysecret

我的存储库.java

@Transactional
public interface MyRepo extends CrudRepository <MyRec, Long>
{
}

我的组件java

@Component
public class MyComp
{
    @Autowired
    MyRepo mr;

    public void foo ()
    {
        MyRec rec = new MyRec ();
        rec.setName ("Sam");

        this.mr.save (rec);    // save to DB
    }
}

我有两个问题

  • 如何获取数据库的连接信息?
  • 假设我使用MariaDB galera与2个主机:如何在程序中找到我连接的是哪一个?
rpppsulh

rpppsulh1#

您可以注入DataSource并从那里获取Connection

@Component
public class AppRunner implements ApplicationRunner {

    private final DataSource dataSource;

    public AppRunner(DataSource dataSource) {
        this.dataSource = dataSource;
    }

    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println(dataSource.getConnection().getMetaData().getURL());
    }
}

相关问题