国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java模糊查詢方法詳解

Java模糊查詢方法詳解

2020-04-22 11:27java教程網 JAVA教程

這篇文章主要為大家詳細介紹了Java模糊查詢方法的實現,實例教你如何用Java做模糊查詢結果,感興趣的小伙伴們可以參考一下

當我們需要開發一個方法用來查詢數據庫的時候,往往會遇到這樣一個問題:就是不知道用戶到底會輸入什么條件,那么怎么樣處理sql語句才能讓我們開發的方法不管接受到什么樣的條件都可以正常工作呢?這時where '1'='1'加上list就可以完美解決這個問題了,廢話少說,上代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// 模糊查詢方法
  public List<person> query() {
    List<person> list = new ArrayList<>();
    Connection con = null;
    Scanner sc = new Scanner(System.in);
    System.err.println("enter name:");
    String name = sc.nextLine();
    System.err.println("enter id:");
    String id = sc.nextLine();
    System.err.println("enter tel:");
    String tel = sc.nextLine();
    System.err.println("enter sex:");
    String sex = sc.nextLine();
    String sql = "select id,name,tel,sex from students "
        // 技巧在此,合理拼接字符串
        + "where 1=1";
    List<Object> list1 = new ArrayList<Object>();
    //使用 commons-lang包
    if (StringUtils.isNotEmpty(name)) {
      sql += " and title like ?";
      list1.add("%" + name + "%");
    }
 
    if (!StringUtils.isEmpty(id)) {
      sql += " and content like ?";
      list1.add("%" + id + "%");
    }
 
    if (!StringUtils.isEmpty(tel)) {
      sql += " and addr like ?";
      list1.add("%" + tel + "%");
    }
    try {
      con = DSUtlis.getConnection();
      // SQL語句組成完成以后,就生成pst對象
      PreparedStatement pst = con.prepareStatement(sql);
      // 設置?的值
      for (int i = 0; i < list1.size(); i++) {
        pst.setObject(i + 1, list.get(i));
      }
      ResultSet rs = pst.executeQuery();
      while (rs.next()) {
        person p = new person();
        p.setId(rs.getString("id"));
        p.setName(rs.getString("name"));
        p.setTel(rs.getString("tel"));
        p.setSex(rs.getString("sex").equals("1") ? "男" : "女");
        list.add(p);
      }
      rs.close();
      pst.close();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      try {
        con.close();
      } catch (SQLException e) {
        e.printStackTrace();
      }
    }
    return list;
  }

注解:
1、以上代碼操作一個Oracle數據庫:

?
1
2
3
4
5
6
7
create table students(
id varchar(32),
name varchar(30),
tel varcher(15),
sex char(1),
constraint stud_pk primary key(id)
);

2、使用工具類獲取Connection
3、proson是一個javabean

下面教大家如何用Java做模糊查詢結果

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.filechooser.*;
import java.util.*;
import java.util.regex.*;
 
 
 
//模糊查詢
 
public class Media
{
public static void main(String args[])
{
JFrame frame=new MediaFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
 
class MediaFrame extends JFrame implements ActionListener,ListSelectionListener
{
private JList list;
private DefaultListModel m;
private JButton btn;
private JButton btn1;
private JButton btn2;
private JButton btn3;
private JButton btn4;
private JFileChooser chooser;
private JTextField textField;
Map hashtable=new Hashtable();
private int i=0;
int s=0;
 
public MediaFrame()
{
setTitle("Media");
setSize(600,500);
 
JMenuBar menu=new JMenuBar();
setJMenuBar(menu);
 
JLabel label=new JLabel("查詢的歌曲名:");
textField=new JTextField();
menu.add(label);
menu.add(textField);
 
JToolBar TB=new JToolBar();
 
m=new DefaultListModel();
 
list=new JList(m);
list.setFixedCellWidth(100);
list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
list.addListSelectionListener(this);
 
JScrollPane pane=new JScrollPane(list);
 
chooser=new JFileChooser();
 
btn=new JButton("添加歌曲");
btn.addActionListener(this);
 
btn1=new JButton("刪除歌曲");
btn1.addActionListener(this);
 
btn2=new JButton("清空列表");
btn2.addActionListener(this);
 
btn3=new JButton("查找曲目");
btn3.addActionListener(this);
 
btn4=new JButton("排序");
btn4.addActionListener(this);
 
JPanel panel=new JPanel();
 
panel.setLayout(new GridLayout(5,1));
 
panel.add(btn);
panel.add(btn1);
panel.add(btn2);
panel.add(btn3);
panel.add(btn4);
 
TB.setLayout(new GridLayout(1,2));
 
TB.add(pane);
TB.add(panel);
 
add(TB,BorderLayout.WEST);
}
 
public void actionPerformed(ActionEvent event)
{
 
if (event.getSource()==btn)
{
i++;
chooser.setCurrentDirectory(new File("."));
 
int result=chooser.showOpenDialog(MediaFrame.this);
 
if (result==JFileChooser.APPROVE_OPTION)
{
System.out.println(i);
 
String name=chooser.getSelectedFile().getPath();
 
String str1=name;
 
int str2=name.lastIndexOf("//");
 
String name1=name.substring(str2+1,str1.length());
 
//截取最后一個"/"之前的所有字符串
 
 
 
int str3=name1.lastIndexOf(".");
 
String name2=name1.substring(0,str3);
 
//截取"."后面所有字符串后綴
 
 
 
hashtable.put(i,name2);
 
m.add(0,hashtable.get(i));
 
System.out.println(hashtable);
}
}
 
if (event.getSource()==btn1)
{
m.removeElement(list.getSelectedValue());
System.out.println(m);
}
 
if (event.getSource()==btn2)
{
System.out.println(m);
i=0;
hashtable.clear();
m.clear();
}
 
if (event.getSource()==btn3)
{
int [] a=new int[m.getSize()];
 
try
{
int j;
String name=textField.getText();
 
System.out.println(m.getSize());
 
for (j=1;j<=m.getSize();j++)
{
Pattern p=Pattern.compile("^"+name+"+");//正則表達式選取以你填的單詞為首的所有查詢結果
Matcher match=p.matcher((String)hashtable.get(j));
 
if (match.find())
{
s++;
 
 
 
//記錄索引結點到數組中a[]中
a[s]=a[s]+m.getSize()-j;
System.out.println(hashtable.get(j));
System.out.println(a[s]);
}
 
}
 
 
 
//可以選擇不多個選項(因為前面設置了JList可以多項選擇)
 
list.setSelectedIndices(a);
 
}
catch (Exception e)
{
 
}
 
}
 
if (event.getSource()==btn4)
{
 
//int j;
//for (j=0;j<m.length();j++)
//{
//if (hashtable.containsValue(Integer.parseInt(j)+"*")
//hashtable.put(j,
//}
 
}
 
}
 
public void valueChanged(ListSelectionEvent event)
{
System.out.println(list.getSelectedIndex());
}
 
}

通過這兩個實例大家是否對java模糊查詢方法有了一定的了解,希望大家喜歡小編的文章,繼續關注哦!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99精品国产高清一区二区麻豆 | 国产精品亚洲自拍 | 一区二区 在线视频 | 国产精品亚洲视频 | 三级视频网站 | 欧美精品一区二区三区在线四季 | 欧美大片一区 | 成年女人在线观看 | 男女视频在线 | h片观看 | 香蕉久久夜色精品国产使用方法 | 婷婷天堂 | 日本高清视频在线播放 | 国产一级大片 | 精品在线一区 | 日韩在线成人 | 国产麻豆乱码精品一区二区三区 | 日本高清无卡码一区二区久久 | 亚洲高清一区二区三区 | 中文字幕在线观看1 | 日韩电影中文字幕 | 国产午夜精品一区二区三区视频 | 国产亚洲人成网站在线观看 | 精品视频在线一区 | 日日骚视频 | 黄色片免费在线看 | 亚洲精品欧美一区二区三区 | 欧美不卡视频 | 亚洲精品一二区 | 巴西性猛交xxxx免费看久久久 | 亚洲福利电影 | 亚洲成人黄色 | 欧美日韩成人影院 | 午夜视频在线播放 | 来个一级毛片 | 日韩国产欧美视频 | 91黄色片 | 一级电影免费在线观看 | 午夜精品视频 | 久久国产高清 | 午夜在线观看视频 |