Rumah >Java >javaTutorial >Bagaimanakah kod Java membaca jadual pangkalan data?

Bagaimanakah kod Java membaca jadual pangkalan data?

WBOY
WBOYke hadapan
2023-05-08 09:55:071327semak imbas

Java membaca jadual pangkalan data

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();
                }
            }
        }
    }
}

Panduan newbie

Logger

Log Java sendiri.

Penggunaan biasa adalah seperti berikut, cetak maklumat log:

logger.error("Sambungan pangkalan data gagal",e)

logger.info("tableName:{}, komen: {}", tableName, comment), {} ialah pemegang tempat

LoggerFactory.getLogger(xxx.class)

menentukan kelas untuk memulakan objek log, yang boleh dicetak keluar apabila log dikeluarkan Kategori maklumat log.

Sambungan

Objek sambungan digunakan untuk membuka sambungan kepada sumber data.

Class.forName(driverName)

Muatkan pemandu.

DriverManager.getConnection(url,pengguna,kata laluan)

Dapatkan sambungan pangkalan data.

PreparedStatement

Salah satu API yang digunakan untuk melaksanakan pernyataan pertanyaan SQL.

ResultSet

ResultSet ialah objek yang dikembalikan oleh hasil pertanyaan dalam data Set hasil ialah objek yang menyimpan hasil pertanyaan.

ps = conn.prepareStatement(SQL_SHOW_TABLE_STATUS)

Pernyataan SQL akan diprakompil sebelum pelaksanaan, dan kemudian pernyataan SQL akan dilaksanakan dan hasilnya akan dikembalikan.

tableResult = ps.executeQuery()

Simpan hasil pertanyaan bagi respons pangkalan data dalam objek kelas ResultSet untuk kegunaan kami.

kaedah next() dalam ResultSet

Kedudukan awal penuding dalam ResultSet adalah sebelum baris pertama memanggil kaedah next() untuk kali pertama akan menetapkan baris pertama sebagai arus barisan.

nama dan ulasan

masing-masing mewakili nama jadual dan ulasan jadual yang ditanya selepas melaksanakan penyataan status jadual pangkalan data. Gunakan kaedah getString() ResultSet untuk mendapatkan nilai yang sepadan.

Atas ialah kandungan terperinci Bagaimanakah kod Java membaca jadual pangkalan data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam