package com.easycrud.builder; import com.easycrud.utils.PropertiesUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.sql.*; /** * @BelongsProject: EasyCrud * @BelongsPackage: com.easycrud.builder * @Author: xpx * @Email: 2436846019@qq.com * @CreateTime: 2023-05-02 18:02 * @Description: 读Table * @Version: 1.0 */ public class BuildTable { private static final Logger logger = LoggerFactory.getLogger(BuildTable.class); private static Connection conn = null; /** * 查表名和表注释 */ private static String SQL_SHOW_TABLE_STATUS = "show table status"; /** * 读配置,连接数据库 */ static { String driverName = PropertiesUtils.getString("db.driver.name"); String url = PropertiesUtils.getString("db.url"); String user = PropertiesUtils.getString("db.username"); String password = PropertiesUtils.getString("db.password"); try { Class.forName(driverName); conn = DriverManager.getConnection(url,user,password); } catch (Exception e) { logger.error("数据库连接失败",e); } } /** * 读取表 */ public static void getTables() { PreparedStatement ps = null; ResultSet tableResult = null; try{ ps = conn.prepareStatement(SQL_SHOW_TABLE_STATUS); tableResult = ps.executeQuery(); while(tableResult.next()) { String tableName = tableResult.getString("name"); String comment = tableResult.getString("comment"); logger.info("tableName:{},comment:{}",tableName,comment); } }catch (Exception e){ logger.error("读取表失败",e); }finally { if (tableResult != null) { try { tableResult.close(); } catch (SQLException e) { e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }
Javas eigenes Protokoll.
Allgemeine Verwendung ist wie folgt: Protokollinformationen drucken:
logger.error("Datenbankverbindung fehlgeschlagen",e)
logger.info("tableName:{},comment:{}",tableName,comment), { } ist Der Platzhalter
LoggerFactory.getLogger(xxx.class)
gibt die Klasse zum Initialisieren des Protokollobjekts an. Bei der Protokollausgabe kann die Klasse der Protokollinformationen ausgedruckt werden.
Connection-Objekt wird verwendet, um eine Verbindung zu einer Datenquelle herzustellen.
Class.forName(driverName)
Laden Sie den Treiber.
DriverManager.getConnection(url,user,password)
Rufen Sie die Datenbankverbindung ab.
PreparedStatement
ist eine der APIs, die zum Ausführen von SQL-Abfrageanweisungen verwendet werden.
Die Ergebnismenge (ResultSet) ist ein Objekt, das von den Abfrageergebnissen in den Daten zurückgegeben wird. Die Ergebnismenge ist ein Objekt, das die Abfrageergebnisse speichert.
ps = conn.prepareStatement(SQL_SHOW_TABLE_STATUS)
Kompilieren Sie die SQL-Anweisung vor der Ausführung vor, starten Sie dann die Ausführung der SQL-Anweisung und geben Sie das Ergebnis zurück.
tableResult = ps.executeQuery()
speichert die Abfrageergebnisse der Datenbankantwort im ResultSet-Klassenobjekt für unsere Verwendung.
Die Anfangsposition des Zeigers in ResultSet liegt vor der ersten Zeile; der erste Aufruf der next()-Methode legt die erste Zeile als aktuelle Zeile fest.
repräsentieren jeweils den Tabellennamen und den Tabellenkommentar, die nach der Ausführung der Anweisung „Datenbank anzeigen Tabellenstatus“ abgefragt werden. Verwenden Sie die getString()-Methode von ResultSet, um den entsprechenden Wert abzurufen.
Das obige ist der detaillierte Inhalt vonWie liest Java-Code eine Datenbanktabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!