Spring Boot持久性性能

时间:2019-11-22 20:18:56

标签: spring-boot jdbctemplate

我最近开始使用SpringBoot。任务是通过创建一个仅从数据库中获取数据的简单项目来替换独立实用程序(Jdbc)。记录器的数量可能在10,000-> 65,000之间。没什么特别的。

我创建了一个简单的JdbcTemplate示例进行测试,其性能令人震惊。例如,30,000条记录可能需要10分钟。

我确信有些问题,并且框架要快得多。我认为使用简单的JDBC ResultSet不会有太大的不同。

 public class SpringbootTest implements CommandLineRunner{

private static final Logger logger = LoggerFactory.getLogger(SpringbootTest.class);

public static void main(String[] args) {
    SpringApplication.run(SpringbootTest.class, args);
}
@Autowired
JdbcTemplate jdbcTemplate;

@Override
public void run(String... strings) throws Exception {
    logger.info("** start run **");


    List l = jdbcTemplate.queryForList("SELECT FROM ....... ");
    logger.info("size:"+String.valueOf(l.size()));
   }
 }


spring.datasource.url=....
spring.datasource.username=....
spring.datasource.password=....
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

<dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc8</artifactId>
        <version>12.2.0.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jdbc</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

有什么想法吗?

谢谢

0 个答案:

没有答案