当前位置:Gxlcms > mysql > select-运行下面的代码为什么这么慢

select-运行下面的代码为什么这么慢

时间:2021-07-01 10:21:17 帮助过:27人阅读

selectmysqlrandom数据库

import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.regex.*;
import java.util.Random;
import static java.awt.BorderLayout.*;
import java.io.File;
import java.io.IOException;
public class SwingDemo
{
Random r;
Link lk,lk1;
ResultSet rs,rs1;
public void init()
{
JFrame jf=new JFrame();
final JPanel jp=new JPanel();
jp.setPreferredSize(new Dimension(300,300));
JPanel jp1=new JPanel();
final JTextField jtf=new JTextField(20);
jp1.setLayout(new FlowLayout(FlowLayout.RIGHT));
JButton jb=new JButton("发送");
JScrollPane jsp=new JScrollPane();
jp.add(jsp);
jf.setLayout(new BorderLayout());
jf.add(jp,NORTH);
jf.add(jp1,SOUTH);
jp1.add(jtf);
jp1.add(jb);

jf.pack();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String out="";
String result="";
String s=jtf.getText();
if(s.equals(""))
{
JOptionPane.showMessageDialog(null, "不能添加空白内容");

            }            else if(s.length()<4)            {                result=find(s);            }            JPanel jp2=new JPanel();            jp2.setPreferredSize(new Dimension(300,50));            JTextArea jta1=new JTextArea();            jta1.setBackground(Color.RED);            jp2.setLayout(new FlowLayout(FlowLayout.LEFT));            jp2.add(jta1);            JPanel jp3=new JPanel();            jp3.setPreferredSize(new Dimension(300,50));            JTextArea jta2=new JTextArea();            jta2.setBackground(Color.YELLOW);            jp3.setLayout(new FlowLayout(FlowLayout.RIGHT));            jp3.add(jta2);            jp.setLayout(new BoxLayout(jp,BoxLayout.Y_AXIS));            jp.add(jp2);            jp.add(jp3);            jta1.setText(s);            jta2.setText(result);        }    });}public String find(String s){        String result="";        try        {            String sql="select *from chat1";            lk=new Link(sql);            rs=lk.sta.executeQuery(sql);            while(rs.next())            {                String string =new String(rs.getString("question"));                if(string.equals(s)||string.contains(s)||s.contains(string))                {                    try                    {                        String sql1="select * from chat where question='"+string+"'";                        lk1=new Link(sql1);                        rs1=lk1.sta.executeQuery(sql1);                        while(rs1.next())                        {                            result=new String (rs1.getString("answer"));                        }                    }                    catch(Exception e)                    {                        e.printStackTrace();                    }                    finally                    {                        lk1.closeConn();                    }                }            }        }        catch(Exception e)        {            e.printStackTrace();        }        finally        {            lk.closeConn();        }        if(result.equals(""))        {            int i=3;            int k=r.nextInt(i);            if(k==0)                result="asdfsdaf";            else if(k==1)                result="rtfdsg";            else if(k==2)                result="fgasdd";        }        return result;}public static void main(String[] args){    new SwingDemo().init();}

}
连接数据库的代码
import java.sql.*;
public class Link{
//ResultSet rs;//声明结果集引用
Connection conn;//声明Connection引用
Statement sta;
public Link(String ml){//有参构造器
try{
Class.forName("com.mysql.jdbc.Driver");//加载驱动器
String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8";//url指向要访问的mysql数据库名
String name="root";//用户名
String pwd="123456";
conn=DriverManager.getConnection(url,name,pwd);//连接数据库
sta=conn.createStatement();//创建语句
//rs=sta.executeQuery(ml);//执行查询得到的结果集
}catch(SQLException e){//捕获异常并打印
e.printStackTrace();
}
catch(ClassNotFoundException e){
e.printStackTrace();}
}
public void closeConn(){//关闭数据库连接的方法
try{
//关闭结果集,语句,连接
//if(rs!=null)
// rs.close();
if(sta!=null)
sta.close();
if(conn!=null)
conn.close();
}catch(SQLException e){//捕获异常并打印
e.printStackTrace();
}
}
}

人气教程排行