Mat*_*ari 3 java jdbc h2 spring-jdbc spring-boot
我正在使用 Spring Boot、H2 和 JPA 作为我的数据库,我可以通过将连接属性放入application.properties. 但我不知道如何使用Spring Boot为我建立的连接。
在下面的代码中,我可以使用conn运行语句等。
static final String JDBC_DRIVER = "org.h2.Driver";
static final String DB_URL = "jdbc:h2:~/test";
static final String USER = "sa";
static final String PASS = "";
Connection conn = null;
Statement stmt = null;
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//This is what I want to do with spring as I obtain a conn variable and use it.
stmt = conn.createStatement();
String sql = "CREATE TABLE REGISTRATION " +
"(id INTEGER not NULL, " +
" first VARCHAR(255), " +
" last VARCHAR(255), " +
" age INTEGER, " +
" PRIMARY KEY ( id ))";
stmt.executeUpdate(sql);
stmt.close();
conn.close();
Run Code Online (Sandbox Code Playgroud)
应用程序属性
spring.datasource.url=jdbc:h2:mem:example-
app;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.platform=h2
spring.datasource.username = sa
spring.datasource.password =
spring.datasource.driverClassName = org.h2.Driver
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true
spring.h2.console.path=/console
Run Code Online (Sandbox Code Playgroud)
自动装配 Spring 上下文中可用的对象DataSource并从那里获取连接。
@Autowired
private DataSource dataSource;
try (Connection conn = dataSource.getConnection()) {
...
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以创建一个JdbcTemplate
@Autowired
private DataSource dataSource;
JdbcTemplate template = new JdbcTemplate(dataSource); // should be a separate @Bean
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6980 次 |
| 最近记录: |