使用java同时建立多个数据库连接和查询时,我应该使用同步吗?

问题描述 投票:0回答:1

使用java同时建立多个数据库连接和查询时,我应该使用同步吗?

例如,我已经实现了以下方法:

public static void createAccount() throws IOException, SQLException {
    DbManager.createDatabaseConnection();
    DbManager.executeSqlUpdateStatement(Account_Creation_Scripts.createAccount_Sql_Command());
    DbManager.closeDatabaseConnection();
}

以上方法尽其所能来连接数据库并创建多个帐户。

我的计划是(同时)在多个自动化测试中使用此方法,这将针对目标数据库同时运行此方法。

在以下方法上实现syncenize关键字是一种好习惯:createAccount,createDatabaseConnection,executeSqlUpdateStatement和closeDatabaseConnection?

谢谢

java database selenium-webdriver automated-tests
1个回答
1
投票

根据您的代码“ DbManager”,内部应具有数据库连接。由于有多个对DbManager的调用,因此为了确保所有调用中都使用相同的Connection对象,必须进行同步。

但是,这不是最佳方法。同步此方法时,在给定时间只能执行一个线程。其余线程将不得不等待,这不是最佳选择。

最佳方法是使用连接池。1.从池中获得连接2.执行您的SQL3.关闭连接(这会将连接返回到池中)

采用这种方法,多个线程将能够同时执行。

请检查https://stackoverflow.com/a/2827719/4113311

© www.soinside.com 2019 - 2024. All rights reserved.