데이터베이스를 쿼리하기위한 메소드를 개발 해야하는 경우 종종 문제가 발생합니다. 사용자가 어떤 조건을 입력 할 것인지 알지 못하므로 SQL 문을 어떻게 처리 할 수있어서 개발 방법이 어떤 조건에 관계없이 정상적으로 작동 할 수 있습니까? 현재 '1'= '1'Plus 목록 이이 문제를 완벽하게 해결할 수 있습니다. 덜 말도 안되는 코드를 추가하십시오.
// 퍼지 쿼리 메소드 공개 목록 <person> query () {list <person> list = new ArrayList <> (); 연결 con = null; 스캐너 sc = 새 스캐너 (System.In); System.err.println ( "Enter Name :"); 문자열 이름 = sc.nextline (); System.err.println ( "enth id :"); 문자열 id = sc.nextline (); System.err.println ( "Enter Tel :"); 문자열 tel = sc.nextline (); System.err.println ( "섹스를 입력 :"); 문자열 sex = sc.nextline (); 문자열 sql = "학생의 ID, 이름, 전화, 학생의 섹스를 선택하십시오."// 여기에는 속임수가 있습니다. List <Object> list1 = new ArrayList <Object> (); // commons-lang 패키지 if (stringUtils.isnotempty (name)) {sql += "및 title like?"; list1.add ( "%" + name + "%"); } if (! stringUtils.isempty (id)) {sql += "및 컨텐츠와 같은?"; 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 <list11.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 (예외 e) {e.printstacktrace (); } 마침내 {try {con.close (); } catch (sqlexception e) {e.printstacktrace (); }} 리턴 목록; } 주석:
1. 위의 코드는 Oracle 데이터베이스에서 작동합니다.
테이블 학생 (Id Varchar (32), 이름 Varchar (30), Tel Varcher (15), Sex Char (1), Systraint Stud_pk 기본 키 (ID));
2. 도구 클래스를 사용하여 연결을 얻으십시오
3. Proson은 Javabean입니다
아래는 Java를 사용하여 퍼지 쿼리 결과를 만드는 방법에 대한 안내서입니다.
import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.event.*; import javax.swing.event.*; import javax.swing.filechooser.*; import java.util.*; import java.util.regex.*; // flurry query public class media {public static void main (string args []) {jframe fram JBUTTON BTN; PRIVATE JBUTTON BTN1; 개인 JBUTTON BTN2; 개인 JBUTTON BTN3; 개인 JBUTTON BTN4; 개인 JFILECHOOSER 선택자; 개인 JTEXTFIELD TEXTFIELD; MAP HASHTABLE = NEW HASHTABLE (); 개인 int I = 0; PUBLIC. mediaframe () {settitle ( "media"); setsize (600,500); jmenubar 메뉴 = new Jmenubar (); setjmenubar (메뉴); jlabel 레이블 = new Jlabel ( "Query Song Name :"); textfield = new Jtextfield (); 메뉴 jtoolbar (); m = new defaultListModel (); list = new Jlist (m); list.setFixedCellWidth (100); list.SetSelectionMode (listSelectionModel.Multiple_Interval_Selection); list.AddListSelectionListener (this); jscrollpane (jscrollpane); JFILECHOOSER (); BTN = NEW JBUTTON ( "노래 추가"); BTN.ADDACTIONLISTERE (this); BTN1 = New JBUTTON ( "DELETE SONG"); BTN1.ADDACTIONLISTERE (this); BTN2 = NEW JBUTTON ( "CLEAR LIST"); BTN2.ADDACTIONLISTENE (this); Track "); 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 (새 gridlayout (1,2)); tb.add (pane); tb.add (패널); add (tb, borderlayout.west);} public void actionperformed (ActionEvent 이벤트) {if (event.getSource () == btn) {i ++; chooser.setCurrentDirectory (새 파일 (새 파일)); result = chooser.showopendialog (mediaframe.this); if (result == jfileChooser.Approve_Option) {system.out.println (i); String name = chooser.getSelectedFile (); String str1 = name; int str2 = name.lastIndexOf ( "//"); 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; (match.find ()) {S ++; // 색인 노드를 배열에 기록 a [] a [s] = a [s] a [s]+m.getsize ()-j; system.out.println (hashtable.get (j)); system.out.println (a [s]);}} // 여러 옵션을 선택할 수 없기 때문에 여러 옵션을 선택할 수 있습니다. e) {}} if (event.getSource () == btn4) {// int j; // for (j = 0; ValueChanged (ListSelectionEvent event) {System.out.println (list.getSelectedIndex ());}}이 두 가지 예를 통해 Java 퍼지 쿼리 방법에 대한 이해가 있습니까? 편집자 기사를 좋아하고 계속 따르기를 바랍니다.