如何将JDBI添加到Spring Boot应用程序中?

时间:2017-11-29 15:08:39

标签: java spring spring-boot spring-data jdbi

我正在尝试设置一个没有Hibernate的Spring Boot应用程序,而是使用JDBI。现在我使用maven作为我的包管理,但我不确定如何完成这项工作。在这里,您可以看到pom.xml的一部分。我在gradle中找到了一些信息,但是有人能告诉我JBDI如何与maven包管理集成?同时有一个例子如何将它连接到SQLite数据库。

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jetty</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.jayway.jsonpath</groupId>
      <artifactId>json-path</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jdbi</groupId>
      <artifactId>jdbi</artifactId>
      <version>2.78</version>
    </dependency>
   </dependencies>

1 个答案:

答案 0 :(得分:1)

您可以在此处查看可运行的代码示例和解释https://www.surasint.com/spring-boot-database-transaction-jdbi/

基本上,你需要pom.xml中的spring database,jdbi和mysql连接器的这种依赖

    <!-- for db annotation, ex @Transactional -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <!-- mysql connector -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.10</version>
    </dependency>
    <!-- jdbi: db table mapper -->
    <dependency>
        <groupId>org.jdbi</groupId>
        <artifactId>jdbi</artifactId>
        <version>2.62</version>
    </dependency>
</dependencies>

然后你需要Spring的数据源。你可以这样做:

@Qualifier("dataSource")
@Autowired
private DataSource dataSource;

然后您需要来自该数据源的连接。

Connection conn =  DataSourceUtils.getConnection(dataSource);

然后将连接器与JDBI挂钩。

Handle handle = DBI.open(conn);