Log4j日志SQL生成器

Log4j日志SQL生成器

代码拿到后可以直接运行。

import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class SQLGenerator extends JFrame implements ActionListener{
private static final int WIDTH = 800;
private static final int HEIGHT = 600;
JLabel jl1=new JLabel(“Log4j日志:”);
JTextArea jta1 = new JTextArea(10,10);
JScrollPane jsp1 = new JScrollPane(jta1);
JButton jb = new JButton(“transport”);
JLabel jl2=new JLabel(“SQL:”);
JTextArea jta2 = new JTextArea(10,10);
JScrollPane jsp2 = new JScrollPane(jta2);

public SQLGenerator(){
Container con = getContentPane();
con.setLayout(new GridLayout(5,1,1,1));

con.add(jl1);
con.add(jsp1);
con.add(jl2);
con.add(jsp2);
jb.addActionListener(this);
con.add(jb);

this.setTitle("Log4j Mybatis日志sql生成器");
this.setSize(WIDTH,HEIGHT);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

@Override
public void actionPerformed(ActionEvent e) {
String log4j = jta1.getText();
System.out.println(log4j);
String[] obj = log4j.split("\n");
String sql1 = obj[0];
String value = obj[1];
String result = this.getSql(sql1, value);
jta2.setText(result);
}

public static void main(String[] args) {

new SQLGenerator();

}

public String getSql(String sql1, String value){
String sql = sql1;
String preparingSql = sql.split(">")[1].replace("Preparing: “, “”);
String argSql = value;
String argV = argSql.split(”
>")[1].replace("Parameters: ", “”);
// System.out.println(argV);

String[] argArr = argV.split(",");

// System.out.println(argArr);
for (String s: argArr) {

  if (s.contains("(String)")){
    // 处理字符串类型
    s = ("\'" + s.split("\\(")[0] + "\'").replace(" ", "");

// System.out.println(s);
} else if (s.contains("(Integer)")) {
//处理整形
s = s.split("\(")[0].replace(" “, “”);
// System.out.println(s);
} else if (s.contains(”(Long)")) {
//处理Long
s = s.split("\(")[0].replace(" “, “”);
// System.out.println(s);
} else {
// System.out.println(s);
}
String ts = preparingSql.replaceFirst(”\?", s);
// System.out.println(ts);
preparingSql = ts;
}

String sysOut = preparingSql.replaceFirst(" ", "").replaceFirst(" ", "");
System.out.println(sysOut);
return sysOut;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值