zoukankan      html  css  js  c++  java
  • sql转换工具

    package com.example.kafka.utils;
    
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;
    
    @SuppressWarnings("serial")
    public class CreateSqlWin extends JFrame {
    
        private JPanel contentPane;
        private JTextField txtStr;
        private JRadioButton rdbtnString;
        private JRadioButton rdbtnStringbuffer;
        private JSplitPane splitPane;
        private JTextArea newSql;
        private JTextArea oldSql;
    
    
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        CreateSqlWin frame = new CreateSqlWin();
                        frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    
        /**
         * Create the frame.
         */
        public CreateSqlWin() {
            setMinimumSize(new Dimension(840, 600));
            setTitle("SQL转JAVA字符串");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setBounds(100, 100, 842, 605);
            contentPane = new JPanel();
            contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
            setContentPane(contentPane);
            contentPane.setLayout(new BorderLayout(0, 0));
    
            JPanel panel = new JPanel();
            panel.setPreferredSize(new Dimension(10, 80));
            contentPane.add(panel, BorderLayout.NORTH);
            panel.setLayout(new BorderLayout(0, 0));
    
            JPanel panel_1 = new JPanel();
            panel_1.setBorder(new LineBorder(new Color(0, 0, 0)));
            panel_1.setPreferredSize(new Dimension(300, 10));
            panel.add(panel_1, BorderLayout.CENTER);
            panel_1.setLayout(null);
    
            JLabel label = new JLabel("选择生成方式:");
            label.setBounds(10, 10, 153, 20);
            panel_1.add(label);
    
            rdbtnString = new JRadioButton("String");
            rdbtnString.setSelected(true);
            rdbtnString.setBounds(52, 36, 79, 23);
            panel_1.add(rdbtnString);
    
            rdbtnStringbuffer = new JRadioButton("StringBuffer");
            rdbtnStringbuffer.setBounds(144, 36, 107, 23);
            panel_1.add(rdbtnStringbuffer);
    
            ButtonGroup bGroup = new ButtonGroup();
            bGroup.add(rdbtnString);
            bGroup.add(rdbtnStringbuffer);
    
            txtStr = new JTextField();
            txtStr.setText("str");
            txtStr.setBounds(313, 31, 180, 33);
            panel_1.add(txtStr);
            txtStr.setColumns(10);
    
            JLabel label_1 = new JLabel("输入变量名:");
            label_1.setBounds(276, 13, 87, 15);
            panel_1.add(label_1);
    
            JPanel panel_3 = new JPanel();
            panel_3.setBorder(new MatteBorder(1, 0, 1, 1, (Color) new Color(0, 0, 0)));
            panel_3.setPreferredSize(new Dimension(200, 10));
            panel.add(panel_3, BorderLayout.EAST);
            panel_3.setLayout(new BorderLayout(0, 0));
    
            JButton button = new JButton("生成");
            button.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //生成SQL
                    String oldSqlStr = oldSql.getText();
                    if(oldSqlStr.equals("")){
                        JOptionPane.showMessageDialog(CreateSqlWin.this, "请在左侧输入SQL再执行!");
                        return;
                    }
                    //清空
                    if(!newSql.getText().equals("")){
                        newSql.setText("");
                    }
                    String valibleName = txtStr.getText();
                    if(valibleName.trim().equals("")){
                        JOptionPane.showMessageDialog(CreateSqlWin.this, "请输入变量名!");
                        return;
                    }
                    String[] sqls = oldSqlStr.split("
    ");
                    StringBuffer result = new StringBuffer();
                    //对SQL进行拼接
                    if(rdbtnString.isSelected()){
                        //string形式
                        for(int i=0;i<sqls.length-1;i++){
                            if(result.toString().equals("")){
                                result.append(valibleName+" = " "+sqls[i]+" "
    ");
                            }
                            else {
                                result.append(" +" "+sqls[i]+" "
    ");
                            }
                        }
                        result.append(" +" "+sqls[sqls.length-1]+" ";
    ");
                    }
                    else{
                        //string形式
                        for(int i=0;i<sqls.length;i++){
                            result.append(valibleName+".append(" "+sqls[i]+" ");
    ");
                        }
                    }
                    newSql.setText(result.toString());
                }
            });
            button.setFont(new Font("楷体", Font.PLAIN, 32));
            panel_3.add(button, BorderLayout.CENTER);
    
            JPanel panel_2 = new JPanel();
            panel_2.setBorder(new MatteBorder(0, 1, 1, 1, (Color) new Color(0, 0, 0)));
            contentPane.add(panel_2, BorderLayout.CENTER);
            panel_2.setLayout(new BorderLayout(0, 0));
    
            splitPane = new JSplitPane();
            splitPane.addComponentListener(new ComponentAdapter() {
                @Override
                public void componentResized(ComponentEvent e) {
                    divider();
                }
            });
            panel_2.add(splitPane, BorderLayout.CENTER);
    
            JScrollPane scrollPane = new JScrollPane();
            splitPane.setLeftComponent(scrollPane);
    
            oldSql = new JTextArea();
            scrollPane.setViewportView(oldSql);
    
            JScrollPane scrollPane_1 = new JScrollPane();
            splitPane.setRightComponent(scrollPane_1);
    
            newSql = new JTextArea();
            scrollPane_1.setViewportView(newSql);
    
            JPanel panel_4 = new JPanel();
            FlowLayout flowLayout = (FlowLayout) panel_4.getLayout();
            flowLayout.setAlignment(FlowLayout.LEFT);
            panel_4.setPreferredSize(new Dimension(10, 30));
            panel_2.add(panel_4, BorderLayout.NORTH);
    
            JLabel lblsql = new JLabel("请在左侧输入你要格式化的SQL语句:");
            lblsql.setHorizontalAlignment(SwingConstants.LEFT);
            panel_4.add(lblsql);
        }
    
        public void divider(){
            splitPane.setDividerLocation(0.4);
        }
    }
    
  • 相关阅读:
    N46期第一周作业
    备份MBR分区表,并破坏后修复
    预习作业(五)作业
    预习作业(四)作业
    通过v$sqlarea,v$sql查询最占用资源的查询
    ORACLE快速彻底Kill掉的会话
    HTML5中修改表单验证默认提示语句
    input正则 常用正则(备用)
    使用扫描枪扫描条码时字符识别写入缓慢问题(针对element-ui的el-input)优化
    JQuery经验汇总
  • 原文地址:https://www.cnblogs.com/fanwenyan/p/15073665.html
Copyright © 2011-2022 走看看