首页  >  文章  >  数据库  >  select-运行下面的代码为什么这么慢

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

WBOY
WBOY原创
2016-06-06 09:35:271269浏览

selectmysqlrandom 数据库

导入 java.awt.*;
导入 javax.swing.*;
导入 java.sql.*;
导入 java.awt.event.*;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.SQLException;
导入java.sql.Statement;
导入java.util.regex。 *;
导入 java.util.Random;
导入 static java.awt.BorderLayout.*;
导入 java.io.File;
导入 java.io.IOException;
公共类SwingDemo
{
随机 r;
链接 lk,lk1;
结果集 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, "不能添加空白内容");

<code>            }            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();}</code>

}
连接数据库的代码
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();
}
}
}

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn