我正在尝试设置一个没有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>
答案 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);