• 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);
        }
    }
    
  • 相关阅读:
    vue cli3 打包到tomcat上报错问题
    前端html转pdf
    原生js上传图片遇到的坑(axios封装)
    vue slot的使用(transform动画)
    vue购物车动画效果
    关于el-select 单选与多选切换的时候报错的解决办法
    vue html属性绑定
    关于element ui滚动条使用
    css3flex布局实现商品列表 水平垂直居中 上下布局
    vue 项目 路由 router.push、 router.replace 和 router.go
  • 原文地址:https://www.cnblogs.com/fanwenyan/p/15073665.html
Copyright © 2020-2023  润新知