首先,确定您计划使用 IBM Cloud 开发者工具还是 Spring Initializr 创建项目,然后按照各自的说明进行操作。
如果您使用 IBM Cloud 开发者工具创建项目,那么使用 dev
插件创建新的 Spring 微服务。
1 | ibmcloud dev create |
MyDb2JDBCProject
)。n
)。None
("No Devops")。dependencies
元素中:1 2 3 4 | < dependency > < groupId >org.springframework.boot < artifactId >spring-boot-starter-data-jdbc
|
如果您使用 Spring Initializr 创建项目,那么使用浏览器访问 https://start.spring.io
。
2.0.4
)。mydb2jdbcproject
)。Web
依赖项。JDBC
依赖项。Maven 中不提供 Db2 JDBC Driver (JCC),所以您必须直接从 IBM 下载,并将其添加到本地 maven 仓库。
1 | mvn install:install-file -DlocalRepositoryPath=lib -DcreateChecksum=true -Dpackaging=jar -Dfile=./lib/db2jcc4.jar -DgroupId=com.ibm.db2.jcc -DartifactId=db2jcc4 -Dversion=4.24.92 |
1 2 3 4 5 6 | < repositories > < repository > < id >repo < url >file://${project.basedir}/lib
|
dependencies
元素,并相应地更改版本以实现匹配:1 2 3 4 5 | < dependency > < groupId >com.ibm.db2.jcc < artifactId >db2jcc4 < version >4.24.92
|
对于本快速指南,我们只使用一个数据库和一个表。
使用 Db2 命令提示符连接到 Db2 实例,并发出以下 SQL 语句以创建 things
表并填充一些数据:
1 2 | create table things (id int, name varchar(255)) insert into things (id,name) values (1,'fish'),(2,'wibble'),(3,'stiletto') |
如果您选择为此表使用不同的名称,就需要记住这个名称,以便稍后创建 JPA 类时使用。
Spring 需要被告知如何与数据库进行通信,与其他 Spring 配置一样,这些信息在 application.properties(或 application.yaml)文件中(位于 src/main/resources/application.properties)。
将以下属性添加到 application.properties 文件:
1 2 3 | spring.datasource.url=jdbc:db2://mydb2host:50000/mydb2databasename spring.datasource.username=mydb2username spring.datasource.password=mydb2password |
记得更改这些值,以便与您的 Db2 实例的位置和凭证相匹配。
com.example
包命名工件 demo
,您将在
src/main/java/com/example/DemoApplication.java 目录下找到主类。jdbc
创建一个目录。1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class Things { private Long id; private String name; public Things(){ } public Things(long id, String name){ this.id = id; this.name = name; } @Override public String toString() { return String.format("Things[id=%d, name='%s']", id, name); } } |
对于通过 Spring Initializr 创建的项目,您必须创建自己的 RestController
类。在 jdbc
目录旁创建一个控制器目录,然后在该目录下创建 RestController 类。
对于通过 IBM Cloud 开发者工具创建的项目,在 src/main/java/application/rest/v1/Example.java 中已为您提供 RestController 示例。
RestController 为您的应用程序提供 REST 端点。使用 @Autowired
将仓库存储库注入到 RestController
中,然后添加一个可以返回表中数据的简单端点:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; import java.util.List; @RestController public class Example { @Autowired JdbcTemplate jdbcTemplate; @RequestMapping("test") public @ResponseBody ResponseEntity< String > example() { List< String > list = new ArrayList<>(); list.add("Table data..."); jdbcTemplate.query( "SELECT * FROM things", new Object[]{}, (rs,rowNum) -> new Things(rs.getLong("id"), rs.getString("name"))) .forEach(thing -> list.add(thing.toString())); return new ResponseEntity< String >(list.toString(), HttpStatus.OK); } } |
您可能需要为之前创建的 Things
类添加导入功能。
您可以像运行任何其他 Spring Boot 应用程序一样运行该示例。
1 | mvn spring-boot:run |
然后,您可以访问此端点,查看它查询数据库和检索信息的情况。
1 2 | $ curl http://localhost:8080/test [Table data..., Things[id=1, name='fish'], Things[id=2, name='wibble'], Things[id=3, name='stiletto']] |
首先,确定您计划使用 IBM Cloud 开发者工具还是 Spring Initializr 创建项目,然后按照各自的说明进行操作。
如果您使用 IBM Cloud 开发者工具创建项目,那么使用 dev
插件创建新的 Spring 微服务。
1 | ibmcloud dev create |
MyDb2JPAProject
)。n
)。None
("No Devops")。dependencies
元素中:1 2 3 4 | < dependency > < groupId >org.springframework.boot < artifactId >spring-boot-starter-data-jpa
|
如果您使用 Spring Initializr 创建项目,那么使用浏览器访问 https://start.spring.io
。
2.0.4
)。mydb2jpaproject
)。Web
依赖项。JPA
依赖项。Maven 中不提供 Db2 JDBC Driver (JCC),所以您必须直接从 IBM 下载,并将其添加到本地 maven 仓库。
1 | mvn install:install-file -DlocalRepositoryPath=lib -DcreateChecksum=true -Dpackaging=jar -Dfile=./lib/db2jcc4.jar -DgroupId=com.ibm.db2.jcc -DartifactId=db2jcc4 -Dversion=4.24.92 |
1 2 3 4 5 6 | < repositories > < repository > < id >repo < url >file://${project.basedir}/lib
|
dependency
元素,并相应地更改版本以实现匹配:1 2 3 4 5 | < dependency > < groupId >com.ibm.db2.jcc < artifactId >db2jcc4 < version >4.24.92
|
对于本快速指南,我们只使用一个数据库和一个表。
使用 Db2 命令提示符连接到 Db2 实例,并发出以下 SQL 语句创建 things
表并填充一些数据:
1 2 | create table things (id int, name varchar(255)) insert into things (id,name) values (1,'fish'),(2,'wibble'),(3,'stiletto') |
如果您为此表使用不同的名称,就需要记住这个名称,以便稍后创建 JPA 类时使用。
Spring 需要被告知如何与数据库进行通信,与其他 Spring 配置一样,这些信息在 application.properties(或 application.yaml)文件中(位于 src/main/resources/application.properties)。
将以下属性添加到 application.properties 文件:
1 2 3 | spring.datasource.url=jdbc:db2://mydb2host:50000/mydb2databasename spring.datasource.username=mydb2username spring.datasource.password=mydb2password |
记得更改这些值,以便与您的 Db2 实例的位置和凭证相匹配。
com.example
包命名工件 demo
,您将在
src/main/java/com/example/DemoApplication.java 目录下找到主类。jpa
创建一个目录。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import javax.persistence.Entity; import javax.persistence.Id; @Entity public class Things { @Id private Long id; private String name; public Things(){ } @Override public String toString() { return String.format("Things[id=%d, name='%s']", id, name); } } |
1 2 3 4 5 6 7 8 | import java.util.List; import org.springframework.data.repository.CrudRepository; public interface Repository extends CrudRepository< Things , Long> { List< Things > findByName(String name); Iterable< Things > findAll(); } |
对于通过 Spring Initializr 创建的项目,您必须创建自己的 RestController
类。在 jpa
目录旁创建一个控制器目录,然后在该目录下创建 RestController
类。
对于通过 IBM Cloud 开发者工具创建的项目,在 src/main/java/application/rest/v1/Example.java 中已为您提供
RestController
示例。
RestController 为您的应用程序提供 REST 端点。使用 @Autowired
将仓库注入到 RestController
中,然后添加一个可以返回表中数据的简单端点:
本文系作者在时代Java发表,未经许可,不得转载。
如有侵权,请联系nowjava@qq.com删除。