JAVA對Mysql資料庫的操作

來源:互聯網
上載者:User

標籤:new   com   meta   put   返回結果   resultset   get   開始   lda   

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.testng.annotations.Test;

public class GetMySqlData {
    public Map<Object, Object> getData(String sqlConn, String account, String password, String sql, String[] reNameStr)
            throws Exception {
        // 1.載入MySql的JDBC驅動
        Class.forName("com.mysql.jdbc.Driver");
        // 2.獲得資料庫的串連
        Connection conn = DriverManager.getConnection("jdbc:mysql://"+sqlConn, account, password);
        // 3.通過資料庫的串連操作資料庫,實現增刪改查
        Statement stmt = conn.createStatement();
        // 4.執行sql,並返回結果集,擷取到的是行對象
        ResultSet rs = stmt.executeQuery(sql);
   // 用於存放擷取到的列名和值
        Map<Object, Object> invoiceMain = new HashMap<Object, Object>();
        // 判斷是否查詢到記錄
        if (!rs.next()) {
            throw new AlertException("未查詢到對應的記錄");
        }
        // 將指標置到第一行之前
        rs.beforeFirst();
        // 擷取總列數
        int cloumCount = rs.getMetaData().getColumnCount();
        // 構造容量為總列數的String數組,存放列名
        String[] cloumName = new String[cloumCount];
        for (int i = 0; i < cloumCount; i++) {
            cloumName[i] = rs.getMetaData().getColumnName(i + 1);// 結果集中的列名指標是從1開始,並非0
            System.out.println(rs.getMetaData().getColumnName(i + 1));
        }
   
        // 5.取出結果集中需要的欄位
        while (rs.next()) {
            for (int i = 0; i < cloumName.length; i++) {
                Object key = reNameStr[i];
                Object value = rs.getString(i + 1);
                if (key.equals("發票類型")) {
                    if (value.equals("1")) {
                        value = "GPO";
                    } else if (value.equals("3")) {
                        value = "其他";
                    }
                }
                invoiceMain.put(key, value);
            }
        }
        Iterator<Object> itr = invoiceMain.keySet().iterator();
        while (itr.hasNext()) {
            Object key = itr.next();
            Object value = invoiceMain.get(key);
            System.out.println("key:" + key + ";value:" + value);
        }

        return invoiceMain;

    }
}

JAVA對Mysql資料庫的操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.