2010年11月2日

           1         final CheckBoxMultipleChoice<String> resultlistChoice = new CheckBoxMultipleChoice<String>("resultlist", new PropertyModel<List<String>>(this, "valueList"), new PropertyModel<List<String>>(this, "list"));
           2 
           3         resultlistChoice.add(new AjaxFormComponentUpdatingBehavior("onclick") {
           4 
           5             @Override
           6             protected void onUpdate(AjaxRequestTarget target) {
           7                 // TODO Auto-generated method stub
           8             }
           9         });
          10         
          11         resultlistChoice.add(new AjaxFormChoiceComponentUpdatingBehavior() {
          12             
          13             @Override
          14             protected void onUpdate(AjaxRequestTarget target) {
          15                 // TODO Auto-generated method stub
          16                 selectedList.clear();
          17                 for (String item : resultlistChoice.getModelObject()) {
          18                     selectedList.add(item);
          19                     System.out.println(item);
          20                 }
          21                 target.add(selectedChoice);
          22             }
          23         });

          posted @ 2012-06-18 00:07 myfavorite 閱讀(335) | 評論 (0)編輯 收藏

          在進行模糊查詢時,經常用到使用漢字拼音或者首字母進行匹配查詢。以下是獲取漢字拼音或者首字母的java代碼實現
          package com;

          import net.sourceforge.pinyin4j.PinyinHelper;
          import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
          import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
          import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
          import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
          import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

          public class GetPinyin {

              /**
               * 得到 全拼
               * 
               * 
          @param src
               * 
          @return
               
          */
              public static String getPingYin(String src) {
                  char[] t1 = null;
                  t1 = src.toCharArray();
                  String[] t2 = new String[t1.length];
                  HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
                  t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
                  t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
                  t3.setVCharType(HanyuPinyinVCharType.WITH_V);
                  String t4 = "";
                  int t0 = t1.length;
                  try {
                      for (int i = 0; i < t0; i++) {
                          // 判斷是否為漢字字符
                          if (java.lang.Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
                              t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
                              t4 += t2[0];
                          } else {
                              t4 += java.lang.Character.toString(t1[i]);
                          }
                      }
                      return t4;
                  } catch (BadHanyuPinyinOutputFormatCombination e1) {
                      e1.printStackTrace();
                  }
                  return t4;
              }

              /**
               * 得到中文首字母
               * 
               * 
          @param str
               * 
          @return
               
          */
              public static String getPinYinHeadChar(String str) {

                  String convert = "";
                  for (int j = 0; j < str.length(); j++) {
                      char word = str.charAt(j);
                      String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
                      if (pinyinArray != null) {
                          convert += pinyinArray[0].charAt(0);
                      } else {
                          convert += word;
                      }
                  }
                  return convert;
              }

              /**
               * 將字符串轉移為ASCII碼
               * 
               * 
          @param cnStr
               * 
          @return
               
          */
              public static String getCnASCII(String cnStr) {
                  StringBuffer strBuf = new StringBuffer();
                  byte[] bGBK = cnStr.getBytes();
                  for (int i = 0; i < bGBK.length; i++) {
                      // System.out.println(Integer.toHexString(bGBK[i]&0xff));
                      strBuf.append(Integer.toHexString(bGBK[i] & 0xff));
                  }
                  return strBuf.toString();
              }

              public static void main(String[] args) {

                  String cnStr = "戩浜";
                  System.out.println(getPingYin(cnStr));
                  System.out.println(getPinYinHeadChar(cnStr));
              }

          }
          pinyin4j-2.5.0.jar

          posted @ 2012-04-18 21:58 myfavorite 閱讀(8487) | 評論 (8)編輯 收藏

          jdbc訪問數據庫

          1 將數據庫的JDBC驅動加載到classpath中,在基于JAVAEE的WEB應用實際開發過程中,通常要把目標數據庫產品的JDBC驅動復制到WEB-INF/lib下.
          2 加載JDBC驅動,并將其注冊到DriverManager中;
          3 建立數據庫連接,取得Connection對象.例如:
          MySQL:   
              String Driver="com.mysql.jdbc.Driver";    //驅動程序
              String URL="jdbc:mysql://localhost:3306/db_name";    //連接的URL,db_name為數據庫名   
              String Username="username";    //用戶名
              String Password="password";    //密碼
              Class.forName(Driver).new Instance();
              Connection con=DriverManager.getConnection(URL,Username,Password);

          Microsoft SQL Server驅動(msbase.jar、mssqlserver.jar、msutil.jar):
              String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";    //連接SQL數據庫的方法
              String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name";    //db_name為數據庫名
              String Username="username";    //用戶名
              String Password="password";    //密碼
              Class.forName(Driver).new Instance();    //加載數據驅動
              Connection con=DriverManager.getConnection(URL,UserName,Password); 

          Microsoft SQL Server驅動(jtds-1.2.jar):
              String Driver="net.sourceforge.jtds.jdbc.Driver";    //連接SQL數據庫的方法
              String URL="jdbc:jtds:sqlserver://localhost:1433/db_name;s=8.0;lastupdatecount=true";    //db_name為數據庫名
              String Username="username";    //用戶名
              String Password="password";    //密碼
              Class.forName(Driver).new Instance();    //加載數據驅動
              Connection con=DriverManager.getConnection(URL,UserName,Password); 

          Sysbase:
              String Driver="com.sybase.jdbc.SybDriver";    //驅動程序
              String URL="jdbc:Sysbase://localhost:5007/db_name";    //db_name為數據可名
              String Username="username";    //用戶名
              String Password="password";    //密碼
              Class.forName(Driver).newInstance();   
              Connection con=DriverManager.getConnection(URL,Username,Password);

          Sysbase:
            String url="jdbc:sybase:Tds:localhost:5007/tsdata";
            Properties sysProps=System.getProperties();
            SysProps.put("user","userid");
            SysProps.put("password","user_password");
            Connection conn=DriverManager.getConnection(url,SysProps);

          Oracle(用thin模式):
              String Driver="oracle.jdbc.driver.OracleDriver";    //連接數據庫的方法
              String URL="jdbc:oracle:thin:@loaclhost:1521:orcl";    //orcl為數據庫的SID
              String Username="username";    //用戶名
              String Password="password";    //密碼
              Class.forName(Driver).newInstance();    //加載數據庫驅動
              Connection con=DriverManager.getConnection(URL,Username,Password);   

          PostgreSQL:
              String Driver="org.postgresql.Driver";    //連接數據庫的方法
              String URL="jdbc:postgresql://localhost/db_name";    //db_name為數據可名
              String Username="username";    //用戶名
              String Password="password";    //密碼
              Class.forName(Driver).newInstance();   
              Connection con=DriverManager.getConnection(URL,Username,Password);

          DB2:
              String Driver="com.ibm.db2.jdbc.app.DB2.Driver";    //連接具有DB2客戶端的Provider實例
              //String Driver="com.ibm.db2.jdbc.net.DB2.Driver";    //連接不具有DB2客戶端的Provider實例
              String URL="jdbc:db2://localhost:5000/db_name";    //db_name為數據可名
              String Username="username";    //用戶名
              String Password="password";    //密碼
              Class.forName(Driver).newInstance();   
              Connection con=DriverManager.getConnection(URL,Username,Password);

          Informix:
              String Driver="com.informix.jdbc.IfxDriver";   
              String URL="jdbc:Informix-sqli://localhost:1533/db_name:INFORMIXSER=myserver";    //db_name為數據可名
              String Username="username";    //用戶名
              String Password="password";    //密碼
              Class.forName(Driver).newInstance();   
              Connection con=DriverManager.getConnection(URL,Username,Password);

          JDBC-ODBC:
              String Driver="sun.jdbc.odbc.JdbcOdbcDriver";
              String URL="jdbc:odbc:dbsource";    //dbsource為數據源名
              String Username="username";    //用戶名
              String Password="password";    //密碼
              Class.forName(Driver).newInstance();   
              Connection con=DriverManager.getConnection(URL,Username,Password);

          4 建立Statement對象或PreparedStatement對象.例如:
            //建立Statement對象
            Statement stmt=conn.createStatement();
            //建立ProparedStatement對象
            String sql="select * from user where userName=? and password=?";
            PreparedStatement pstmt=Conn.prepareStatement(sql);
            pstmt.setString(1,"admin");
            pstmt.setString(2,"liubin");
          5 執行SQL語句.例如:
            String sql="select * from users";
            ResultSet rs=stmt.executeQuery(sql);
            //執行動態SQL查詢
            ResultSet rs=pstmt.executeQuery();
            //執行insert update delete等語句,先定義sql
            stmt.executeUpdate(sql);
          6 訪問結果記錄集ResultSet對象。例如:
            while(rs.next)
            {
            out.println("你的第一個字段內容為:"+rs.getString());
            out.println("你的第二個字段內容為:"+rs.getString(2));
            }
          7 依次將ResultSet、Statement、PreparedStatement、Connection對象關閉,釋放所占用的資源.例如:
            rs.close();
            stmt.clost();
            pstmt.close();
            con.close();

          posted @ 2010-11-02 20:36 myfavorite 閱讀(293) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 霞浦县| 江源县| 大连市| 安庆市| 万全县| 大埔县| 新余市| 绥滨县| 南宫市| 石棉县| 铅山县| 新余市| 万山特区| 邹平县| 玉溪市| 浦东新区| 太保市| 句容市| 井陉县| 正镶白旗| 海淀区| 连城县| 寿光市| 洪湖市| 齐齐哈尔市| 砚山县| 黄平县| 贡嘎县| 全州县| 永兴县| 赤壁市| 花莲市| 英德市| 明星| 武宁县| 大埔县| 日土县| 三亚市| 车致| 岑溪市| 南城县|