婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > IDEA 鏈接Mysql數(shù)據(jù)庫(kù)并執(zhí)行查詢操作的完整代碼

IDEA 鏈接Mysql數(shù)據(jù)庫(kù)并執(zhí)行查詢操作的完整代碼

熱門(mén)標(biāo)簽:大豐地圖標(biāo)注app 南太平洋地圖標(biāo)注 武漢電銷(xiāo)機(jī)器人電話 html地圖標(biāo)注并導(dǎo)航 催天下外呼系統(tǒng) 呂梁外呼系統(tǒng) 北京金倫外呼系統(tǒng) 400電話變更申請(qǐng) 400電話辦理服務(wù)價(jià)格最實(shí)惠

 1、先寫(xiě)個(gè) Mysql 的鏈接設(shè)置頁(yè)面

package com.wretchant.fredis.menu.mysql;

import com.intellij.notification.NotificationType;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.wretchant.fredis.gui.dialog.TableDialog;
import com.wretchant.fredis.util.NotifyUtils;
import com.wretchant.fredis.util.PropertiesUtils;
import org.jetbrains.annotations.NotNull;

import javax.swing.*;
import java.util.Map;
import java.util.Properties;

/**
 * @author Created by 譚健 on 2020/8/26. 星期三. 15:24.
 * © All Rights Reserved.
 */
public class MysqlConfig extends AnAction {

    @Override
    public void actionPerformed(@NotNull AnActionEvent event) {

        Properties properties = PropertiesUtils.readFromSystem();
        if (properties != null) {
            TableDialog.TableField build = TableDialog.TableField.build(properties.stringPropertyNames());
            TableDialog dialog = new TableDialog("Mysql 連接配置", build);
            for (int i = 0; i  dialog.getLabels().size(); i++) {
                JLabel label = dialog.getLabels().get(i);
                JTextField textField = dialog.getInputs().get(i);
                String property = properties.getProperty(label.getText());
                textField.setText(property);
            }
            dialog.show();
            if (dialog.isOK()) {
                MapString, String> valueMap = dialog.getValueMap();
                valueMap.forEach(properties::setProperty);
                PropertiesUtils.write2System(properties);
            }
        } else {
            NotifyUtils.notifyUser(event.getProject(), "讀取配置文件失敗,配置文件不存在", NotificationType.ERROR);
        }
    }

}

2、然后簡(jiǎn)單的寫(xiě)個(gè) JDBC 操作數(shù)據(jù)庫(kù)的支持類

package com.wretchant.fredis.support;

import cn.hutool.core.util.StrUtil;
import com.intellij.notification.NotificationType;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.editor.SelectionModel;
import com.wretchant.fredis.util.ClipboardUtils;
import com.wretchant.fredis.util.NotifyUtils;
import com.wretchant.fredis.util.PropertiesUtils;
import com.wretchant.fredis.value.StringValue;
import org.apache.commons.lang.StringUtils;
import org.jetbrains.annotations.NotNull;

import java.sql.*;
import java.util.*;

/**
 * @author Created by 譚健 on 2020/8/12. 星期三. 17:42.
 * © All Rights Reserved.
 */
public class Mysql {


    /**
     * 執(zhí)行查詢語(yǔ)句的返回結(jié)果
     */
    public static class Rs {

        public Rs(ListMapString, Object>> r) {
            this.r = r;
            this.count = r.size();
        }

        private ListMapString, Object>> r = new ArrayList>();

        private int count;

        public ListMapString, Object>> getR() {
            return r;
        }

        public void setR(ListMapString, Object>> r) {
            this.r = r;
        }

        public int getCount() {
            return count;
        }

        public void setCount(int count) {
            this.count = count;
        }

        public MapString, Object> one() {
            if (Objects.isNull(r) || r.isEmpty()) {
                return null;
            }
            return r.get(0);
        }


        public Object oneGet(String key) {
            return one().get(key);
        }
    }


    // 參考: https://www.cnblogs.com/jyroy/p/9637149.html

    public static class JDBCUtil {


        /**
         * 執(zhí)行sql 并返回 map 數(shù)據(jù)
         *
         * @param sql
         * @return
         */
        public static Rs rs(String sql) {
            Connection connection = null;
            Statement statement = null;
            ResultSet resultSet = null;
            ListMapString, Object>> r = new ArrayList>();
            try {
                connection = Mysql.DatabaseUtils.getConnection();
                statement = connection.createStatement();
                resultSet = statement.executeQuery(sql);

                // 基礎(chǔ)信息
                ResultSetMetaData metaData = resultSet.getMetaData();
                // 返回了多少個(gè)字段
                int columnCount = metaData.getColumnCount();


                while (resultSet.next()) {
                    MapString, Object> valueMap = new LinkedHashMap>();
                    for (int i = 0; i  columnCount; i++) {
                        // 這個(gè)字段是什么數(shù)據(jù)類型
                        String columnClassName = metaData.getColumnClassName(i);
                        // 字段名稱
                        String columnName = metaData.getColumnName(i);
                        Object value = resultSet.getObject(columnName);
                        valueMap.put(columnName, value);
                    }
                    r.add(valueMap);
                }
            } catch (Exception e1) {
                NotifyUtils.notifyUser(null, "error", NotificationType.ERROR);
                e1.printStackTrace();
            } finally {
                release(connection, statement, resultSet);
            }
            return new Rs(r);
        }

        public static ResultSet es(String sql) {
            Connection connection;
            Statement statement;
            ResultSet resultSet = null;
            try {
                connection = Mysql.DatabaseUtils.getConnection();
                statement = connection.createStatement();
                resultSet = statement.executeQuery(sql);
            } catch (Exception e1) {
                NotifyUtils.notifyUser(null, "error", NotificationType.ERROR);
                e1.printStackTrace();
            }
            return resultSet;
        }


        public static void release(Connection connection, Statement st, ResultSet rs) {
            closeConn(connection);
            closeRs(rs);
            closeSt(st);
        }

        public static void closeRs(ResultSet rs) {
            try {
                if (rs != null) {
                    rs.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                rs = null;
            }
        }

        private static void closeSt(Statement st) {
            try {
                if (st != null) {
                    st.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                st = null;
            }
        }

        private static void closeConn(Connection connection) {
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                connection = null;
            }
        }

    }

    public static class DatabaseUtils {
        private static Connection connection = null;

        static {
            Properties properties = PropertiesUtils.readFromSystem();
            try {
                if (properties != null) {
                    Class.forName("com.mysql.cj.jdbc.Driver");
                    connection = DriverManager.getConnection(
                            properties.getProperty("mysql.url"),
                            properties.getProperty("mysql.username"),
                            properties.getProperty("mysql.password")
                    );
                    NotifyUtils.notifyUser(null, "數(shù)據(jù)庫(kù)連接成功", NotificationType.INFORMATION);
                }
            } catch (Exception e) {
                NotifyUtils.notifyUser(null, "數(shù)據(jù)庫(kù)連接失敗", NotificationType.ERROR);
                e.printStackTrace();
            }
        }

        public static Connection getConnection() {
            return connection;
        }
    }


    public static void exec(@NotNull AnActionEvent event, Template template) {
        StringValue stringValue = new StringValue(template.getDefaultValue());
        Optional.ofNullable(event.getData(PlatformDataKeys.EDITOR)).
                ifPresent(editor -> {
                    SelectionModel selectionModel = editor.getSelectionModel();
                    String selectedText = selectionModel.getSelectedText();
                    if (StringUtils.isNotBlank(selectedText)) {
                        stringValue.setValue(StrUtil.format(template.getDynamicValue(), selectedText));
                    }
                });
        ClipboardUtils.clipboard(stringValue.getValue());
        NotifyUtils.notifyUser(event.getProject(), stringValue.getValue(), NotificationType.INFORMATION);
    }

    /**
     * sql 語(yǔ)句模版
     */
    public enum Template {

        SELECT("SELECT * FROM x WHERE 1 = 1 AND ", "SELECT * FROM {} WHERE 1 = 1 AND ", "查詢語(yǔ)句"),
        UPDATE("UPDATE x SET x = x WHERE 1 = 1 AND ", "UPDATE {} SET x = x WHERE 1 = 1 AND ", "更新語(yǔ)句"),
        DELETE("DELETE FROM x WHERE 1 = 1 ", "DELETE FROM {} WHERE 1 = 1 ", "刪除語(yǔ)句"),
        INSERT("INSERT INTO * (x) VALUES (x) ", "INSERT INTO {} (x) VALUES (x) ", "新增語(yǔ)句"),
        ;

        Template(String defaultValue, String dynamicValue, String describe) {
            this.defaultValue = defaultValue;
            this.dynamicValue = dynamicValue;
            this.describe = describe;
        }

        public String getDynamicValue() {
            return dynamicValue;
        }

        public String getDefaultValue() {
            return defaultValue;
        }

        public String getDescribe() {
            return describe;
        }

        /**
         * 模版內(nèi)容:默認(rèn)值
         */
        private final String defaultValue;
        /**
         * 動(dòng)態(tài)內(nèi)容
         */
        private final String dynamicValue;
        /**
         * 內(nèi)容描述
         */
        private final String describe;


    }

}

3、寫(xiě)個(gè)測(cè)試連接的類#xff0c;測(cè)試一下 mysql 是否可以正常鏈接

package com.wretchant.fredis.menu.mysql;

import com.intellij.notification.NotificationType;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.wretchant.fredis.support.Mysql;
import com.wretchant.fredis.util.NotifyUtils;
import org.jetbrains.annotations.NotNull;

import java.sql.ResultSet;

/**
 * @author Created by 譚健 on 2020/9/15. 星期二. 10:17.
 * © All Rights Reserved.
 */
public class MysqlConn extends AnAction {


    @Override
    public void actionPerformed(@NotNull AnActionEvent event) {
        try {
            ResultSet es = Mysql.JDBCUtil.es("select 1 as ct");
            es.next();
            int ct = es.getInt("ct");
            if (ct == 1) {
                NotifyUtils.notifyUser(null, "連接是正常的", NotificationType.INFORMATION);
            } else {
                NotifyUtils.notifyUser(null, "連接不正常", NotificationType.ERROR);
            }
            Mysql.JDBCUtil.closeRs(es);
        } catch (Exception e1) {
            e1.printStackTrace();
            NotifyUtils.notifyUser(null, "連接不正常", NotificationType.ERROR);
        }
    }
}

以上就是IDEA 鏈接Mysql數(shù)據(jù)庫(kù)并執(zhí)行查詢操作的完整代碼的詳細(xì)內(nèi)容,更多關(guān)于IDEA 鏈接Mysql執(zhí)行查詢操作 的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • 使用Intellij IDEA查看Java源碼技巧
  • IntelliJ IDEA 小技巧之Bookmark(書(shū)簽)的使用
  • 詳解IDEA 中使用Maven創(chuàng)建項(xiàng)目常見(jiàn)錯(cuò)誤和使用技巧(推薦)
  • IntelliJ IDEA插件EasyCode安裝方法與使用技巧
  • IntellJ IDEA神器使用技巧(小結(jié))
  • 利用Intellij Idea連接遠(yuǎn)程服務(wù)器實(shí)現(xiàn)遠(yuǎn)程上傳部署功能
  • 快速使用IDEA圖形化界面連接Phoenix的方法
  • IDEA 如何控制編輯左側(cè)的功能圖標(biāo)ICON(操作步驟)
  • 強(qiáng)烈推薦這些提升代碼效率的IDEA使用技巧

標(biāo)簽:徐州 西寧 南充 無(wú)錫 自貢 龍巖 迪慶 麗水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《IDEA 鏈接Mysql數(shù)據(jù)庫(kù)并執(zhí)行查詢操作的完整代碼》,本文關(guān)鍵詞  IDEA,鏈接,Mysql,數(shù)據(jù)庫(kù),并,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《IDEA 鏈接Mysql數(shù)據(jù)庫(kù)并執(zhí)行查詢操作的完整代碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于IDEA 鏈接Mysql數(shù)據(jù)庫(kù)并執(zhí)行查詢操作的完整代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩亚洲欧美在线观看| 日韩视频一区在线观看| 99久久精品国产一区| 欧美一级日韩免费不卡| 性做久久久久久久免费看| 欧美日韩一区二区三区在线| 午夜精品爽啪视频| 91精品国产91综合久久蜜臀| 亚洲va国产va欧美va观看| 欧美日韩成人在线| 久久福利资源站| 国产女人水真多18毛片18精品视频| 国产风韵犹存在线视精品| 日韩欧美123| 国产一区二区三区精品视频| 国产精品无人区| 91精品福利视频| 麻豆成人免费电影| 欧美极品美女视频| 91久久精品一区二区三区| 日韩电影在线一区二区| 久久久国际精品| 欧美系列亚洲系列| 国产99精品国产| 亚洲国产日韩精品| 久久综合久久综合亚洲| 99久久久久久99| 免费一级欧美片在线观看| 欧美激情中文字幕一区二区| 欧美在线不卡视频| 国产大片一区二区| 亚洲久草在线视频| 欧美va亚洲va国产综合| 97精品国产露脸对白| 捆绑调教美女网站视频一区| 国产女人18水真多18精品一级做| 欧美色网站导航| 国产suv一区二区三区88区| 视频在线观看一区| 一区二区三区美女视频| ww亚洲ww在线观看国产| 欧美特级限制片免费在线观看| 亚洲另类一区二区| 欧美韩日一区二区三区| 欧美一区二区三区电影| 在线免费观看视频一区| 成人成人成人在线视频| 亚洲精品成a人| 欧美日韩国产另类不卡| 91视视频在线观看入口直接观看www | 国产日韩欧美一区二区三区综合| 精品视频一区 二区 三区| 粉嫩久久99精品久久久久久夜 | 三级一区在线视频先锋 | 国产在线播精品第三| 亚洲欧洲日韩在线| 欧美成人aa大片| 欧美日韩三级视频| 色欧美日韩亚洲| 91在线精品一区二区| 成人av电影观看| eeuss国产一区二区三区| 国产91高潮流白浆在线麻豆| 国产伦精一区二区三区| 韩国av一区二区三区四区| 久久99国产精品免费网站| 日韩精品每日更新| 日韩制服丝袜av| 日韩精品亚洲专区| 日韩精品成人一区二区三区 | 精品一二线国产| 美腿丝袜在线亚洲一区| 麻豆国产欧美一区二区三区| 韩国视频一区二区| 国产成人亚洲精品青草天美| 成人一道本在线| 91小视频在线| 欧美日韩在线观看一区二区| 制服.丝袜.亚洲.中文.综合| 欧美大片在线观看一区二区| 久久精品综合网| 自拍偷拍欧美精品| 亚洲午夜精品网| 久久国产剧场电影| 成人爱爱电影网址| 精品视频免费在线| 2020国产精品自拍| 中文av字幕一区| 亚洲黄一区二区三区| 美女视频黄频大全不卡视频在线播放| 国模少妇一区二区三区| 91视频免费播放| 日韩精品一区二区三区在线播放| 中文字幕巨乱亚洲| 五月激情丁香一区二区三区| 国产一区二区在线免费观看| av资源站一区| 制服丝袜成人动漫| 国产精品白丝在线| 裸体健美xxxx欧美裸体表演| a级精品国产片在线观看| 欧美一级理论性理论a| 国产精品毛片无遮挡高清| 亚洲成人av电影| 波多野结衣的一区二区三区| 欧美成人女星排名| 亚洲愉拍自拍另类高清精品| 福利一区二区在线观看| 91精品欧美综合在线观看最新 | 国产欧美日韩精品一区| 一区二区免费看| 懂色av一区二区三区免费观看| 欧美日韩mp4| 亚洲精品国产无天堂网2021 | 日韩一区在线免费观看| 美女在线观看视频一区二区| 日本高清视频一区二区| 久久久久久久久97黄色工厂| 伊人色综合久久天天| 波多野结衣中文字幕一区二区三区| 欧美伊人久久久久久久久影院 | 亚洲欧美偷拍另类a∨色屁股| 激情综合网最新| 日韩欧美精品在线| 亚洲一线二线三线久久久| 久久99精品国产麻豆婷婷| 91麻豆精品在线观看| 欧美大片顶级少妇| 国产色一区二区| 喷水一区二区三区| 欧美天天综合网| 中文字幕在线不卡一区二区三区 | 蜜桃视频第一区免费观看| 91福利在线导航| 亚洲视频在线一区| 国产成人亚洲综合a∨婷婷| www国产精品av| 精品综合免费视频观看| 91精品国产91久久综合桃花 | 日韩一区二区在线看片| 午夜av电影一区| 丰满放荡岳乱妇91ww| 日韩一区二区三区在线视频| 亚洲一区二区黄色| 成人国产精品免费观看动漫 | 欧美一级午夜免费电影| 亚洲国产综合人成综合网站| 粉嫩13p一区二区三区| 亚洲国产精品二十页| 国产成人精品三级麻豆| 亚洲精品在线观看视频| 国产一区三区三区| 日韩一区二区三区免费看| 美女网站视频久久| 欧美一区永久视频免费观看| 亚洲激情图片一区| 波多野结衣在线一区| 久久亚洲捆绑美女| 免费在线观看日韩欧美| 91精品福利视频| 亚洲一区二三区| 欧美精品 日韩| 亚洲一区在线观看视频| 欧美日韩在线三区| 午夜国产不卡在线观看视频| 风间由美一区二区av101| 欧美日韩的一区二区| 亚洲精品国产无天堂网2021 | 人人精品人人爱| 精品噜噜噜噜久久久久久久久试看| 美女视频免费一区| 国产欧美一区二区精品性| 精品一区精品二区高清| www成人在线观看| av在线综合网| 亚洲欧美一区二区三区久本道91 | 一本色道亚洲精品aⅴ| 日本麻豆一区二区三区视频| 欧美tk—视频vk| 欧美最猛性xxxxx直播| 国产麻豆欧美日韩一区| 亚洲成人黄色影院| 亚洲国产精品二十页| 在线亚洲高清视频| 老司机精品视频在线| 中文字幕一区二区三区色视频| 日韩三级精品电影久久久| 在线免费视频一区二区| 成人在线视频一区二区| 亚洲va韩国va欧美va精品 | 一区二区三区在线免费视频| 久久久一区二区三区| 欧美一区日韩一区| 97久久超碰国产精品电影| 国产电影一区二区三区| 国产精品自在欧美一区| 日韩国产欧美视频| 亚欧色一区w666天堂| 亚洲美女少妇撒尿| 国产精品天美传媒沈樵|