springboot框架下用Java获取数据库表的主键
时间: 2023-06-29 22:13:08 浏览: 47
在Spring Boot框架下,可以使用Spring提供的`JdbcTemplate`类来获取数据库表的主键。具体代码如下:
```java
@Autowired
private JdbcTemplate jdbcTemplate;
public void getPrimaryKey(String tableName) {
String sql = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = ? AND CONSTRAINT_NAME = 'PRIMARY'";
List<String> primaryKeyColumns = jdbcTemplate.queryForList(sql, new Object[]{tableName}, String.class);
for(String column : primaryKeyColumns) {
System.out.println("Primary key column name: " + column);
}
}
```
其中,`jdbcTemplate` 是通过Spring自动装配得到的,`tableName` 是要获取主键的表名。调用该方法后,会输出该表的主键列名。
这里使用了`JdbcTemplate`的`queryForList`方法,该方法可以执行SQL查询语句并返回结果集。我们通过传入的表名,查询`INFORMATION_SCHEMA.KEY_COLUMN_USAGE`系统表,获取该表的主键列名。需要注意的是,主键列名需要满足`CONSTRAINT_NAME = 'PRIMARY'`条件。