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

标签 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>

最佳答案

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

基本上,pom.xml 中的 spring 数据库、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 Hook 。

Handle handle = DBI.open(conn);

关于java - 如何将 JDBI 添加到 Spring Boot 应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47555921/

相关文章:

java - @Transactional(rollbackfor=Exception.class) 用于两个 daoimpl 类

Java数组通过类构造函数初始化(性能问题)

java - 如何从设备获取新短信?

java - 在 Jenkins 中添加 "Create maven jobs"时无法看到 "new items"

Java EJB 迁移到 Spring

java - 自动配置数据源失败: 'spring.datasource.url' is not specified

java - Java 1.5 中的 JTable 对行进行排序

java - 业务层是否应该将持久化对象返回给UI层?

java - Spring Boot Admin 使用 HTTP 而不是 HTTPS Actuator Endpoints

Spring Boot 2.1/2.2 测试 - 如何在不为其他一切创建 bean 的情况下测试单个 Controller ?