auth-server-java/generator-code/src/test/java/cn/bunny/JDBCTest.java

100 lines
3.0 KiB
Java
Raw Normal View History

2025-04-04 18:10:55 +08:00
package cn.bunny;
2025-04-22 22:08:51 +08:00
import cn.bunny.core.TypeConvertCore;
2025-04-04 20:03:39 +08:00
import cn.bunny.dao.entity.ColumnMetaData;
import cn.bunny.dao.entity.TableMetaData;
2025-04-04 18:10:55 +08:00
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
2025-04-05 16:36:23 +08:00
import javax.sql.DataSource;
import java.sql.Connection;
2025-04-04 18:10:55 +08:00
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
@SpringBootTest
public class JDBCTest {
DatabaseMetaData metaData;
2025-04-18 22:48:49 +08:00
private final DataSource dataSource;
public JDBCTest(DataSource dataSource) {
this.dataSource = dataSource;
}
2025-04-04 18:10:55 +08:00
@BeforeEach
public void setUp() throws Exception {
2025-04-05 16:36:23 +08:00
try (Connection connection = dataSource.getConnection()) {
metaData = connection.getMetaData();
}
2025-04-04 18:10:55 +08:00
}
@Test
void testComment() throws SQLException {
String tableName = "sys_i18n";
TableMetaData tableMetaData;
ResultSet tables = metaData.getTables(null, null, tableName, new String[]{"TABLE"});
// 获取表的注释信息
if (tables.next()) {
2025-04-18 22:48:49 +08:00
String remarks = tables.getString("REMARKS");
String tableCat = tables.getString("TABLE_CAT");
2025-04-04 18:10:55 +08:00
tableMetaData = TableMetaData.builder()
.tableName(tableName)
2025-04-04 20:03:39 +08:00
.comment(remarks)
2025-04-04 18:10:55 +08:00
.tableCat(tableCat)
.build();
System.out.println(tableMetaData);
}
}
2025-04-04 20:03:39 +08:00
@Test
void testAllTableComment() throws SQLException {
2025-04-18 22:48:49 +08:00
ResultSet tables = metaData.getTables(null, null, "%", new String[]{"TABLE"});
2025-04-04 20:03:39 +08:00
List<TableMetaData> list = new ArrayList<>();
while (tables.next()) {
2025-04-18 22:48:49 +08:00
String tableName = tables.getString("TABLE_NAME");
String remarks = tables.getString("REMARKS");
String tableCat = tables.getString("TABLE_CAT");
2025-04-04 20:03:39 +08:00
TableMetaData tableMetaData = TableMetaData.builder()
.tableName(tableName).comment(remarks)
.tableCat(tableCat)
.build();
list.add(tableMetaData);
}
System.out.println(list);
}
2025-04-04 18:10:55 +08:00
@Test
void testColumnInfo() throws SQLException {
List<ColumnMetaData> columns = new ArrayList<>();
2025-04-18 22:48:49 +08:00
try (ResultSet columnsRs = metaData.getColumns(null, null, "sys_i18n", null)) {
2025-04-04 18:10:55 +08:00
while (columnsRs.next()) {
ColumnMetaData column = new ColumnMetaData();
2025-04-18 22:48:49 +08:00
column.setColumnName(columnsRs.getString("COLUMN_NAME"));
2025-04-22 22:08:51 +08:00
column.setLowercaseName(TypeConvertCore.convertToCamelCase(column.getColumnName()));
2025-04-18 22:48:49 +08:00
column.setJdbcType(columnsRs.getString("TYPE_NAME"));
2025-04-22 22:08:51 +08:00
column.setJavaType(TypeConvertCore.convertToJavaType(column.getJdbcType()));
2025-04-18 22:48:49 +08:00
column.setComment(columnsRs.getString("REMARKS"));
2025-04-04 18:10:55 +08:00
columns.add(column);
System.out.println(column);
}
}
2025-04-04 20:03:39 +08:00
System.out.println(columns);
2025-04-04 18:10:55 +08:00
}
}