[Java] 数据库模糊查询 →→→→→进入此内容的聊天室

来自 , 2019-12-01, 写在 Java, 查看 108 次.
URL http://www.code666.cn/view/892c91e0
  1. import java.sql.*;
  2. import java.util.*;
  3. public class Example14_6 {
  4.    public static void main(String args[]) {
  5.      System.out.println("姓名中包含有:张,李或酒的记录:");
  6.      PatternQuery patternQuery=new PatternQuery();
  7.      patternQuery.setNameContain("张李酒");
  8.      String datasorce="star";
  9.      String tableName="employee";
  10.      patternQuery.setDatasourceName(datasorce);
  11.      patternQuery.setTableName(tableName);
  12.      ArrayList<StringBuffer> result=patternQuery.getQueryResult();
  13.      for(StringBuffer str:result) {
  14.         System.out.println(str);  
  15.      }
  16.    }
  17. }
  18. import java.util.*;
  19. public class PatternQuery extends Query {
  20.    String nameContain;
  21.    public void setNameContain(String s) {
  22.       nameContain=s;
  23.    }
  24.    public ArrayList <StringBuffer> getQueryResult() {
  25.       String sql="SELECT * FROM "+tableName+" WHERE name LIKE '%["+
  26.                   nameContain+"]%'";
  27.        setSQL(sql);
  28.        return super.getQueryResult();
  29.    }    
  30. }
  31.  
  32. import java.sql.*;
  33. import java.util.*;
  34. public class Query {
  35.    String datasourceName="";        //数据源名
  36.    String tableName="";            //表名
  37.    String SQL;                     //SQL语句
  38.    ArrayList <StringBuffer> queryResult;  //查询结果
  39.    public Query() {
  40.       try{  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  41.       }
  42.       catch(ClassNotFoundException e) {
  43.          System.out.print(e);
  44.       }
  45.    }
  46.    public void setDatasourceName(String s) {
  47.       datasourceName=s.trim();
  48.    }
  49.    public void setTableName(String s) {
  50.       tableName=s.trim();
  51.    }
  52.    public void setSQL(String SQL) {
  53.       this.SQL=SQL;
  54.    }
  55.    public ArrayList <StringBuffer> getQueryResult() {
  56.       queryResult=new ArrayList<StringBuffer>();
  57.       Connection con;
  58.       Statement sql;
  59.       ResultSet rs;
  60.       try {
  61.            String uri="jdbc:odbc:"+datasourceName;
  62.            String id="";
  63.            String password="";
  64.            con=DriverManager.getConnection(uri,id,password);
  65.            DatabaseMetaData metadata=con.getMetaData();
  66.            ResultSet rs1=metadata.getColumns(null,null,tableName,null);
  67.            int 字段个数=0;
  68.            while(rs1.next()) {
  69.               字段个数++;
  70.            }
  71.            sql=con.createStatement();
  72.            rs=sql.executeQuery(SQL);
  73.            while(rs.next()) {
  74.              StringBuffer record=new StringBuffer();
  75.              for(int k=1;k<=字段个数;k++) {
  76.                  record.append(" "+rs.getString(k)+" ");
  77.              }
  78.              queryResult.add(record);
  79.            }
  80.            con.close();
  81.        }
  82.        catch(SQLException e) {
  83.            System.out.println("请输入正确的表名"+e);
  84.        }
  85.        return queryResult;
  86.    }    
  87. }
  88.  
  89.  

回复 "数据库模糊查询"

这儿你可以回复上面这条便签

captcha