1. 程式人生 > 實用技巧 >JavaScript條件語句的優化技巧

JavaScript條件語句的優化技巧

/*
   1、註冊驅動(DRIVER)
   2、建立連線(URL,USER,PASSWORD)
   3、編譯sql
   4、執行sql
   5、獲得結果集
   6、返回
 */

/**
 * 1.常量定義 final,最終、不變,常量識別符號全大寫
 * 2.定義常量類儘量不要用public
 * 3.需要經常呼叫的使用static修飾
 */
private static final String URL = "jdbc:mysql://127.0.0.1:3306/ylws?
                        serverTimezone=UTC&characterEncoding=utf-8";
private
static final String DRIVER = "com.mysql.cj.jdbc.Driver"; private static final String USER = "root"; private static final String PASSWORD = "123456";

JDBC工具類

  1 public class JDBCUtils {
  2     /*
  3        1、註冊驅動(DRIVER)
  4        2、建立連線(URL,USER,PASSWORD)
  5        3、編譯sql
  6        4、執行sql
7 5、獲得結果集 8 6、返回 9 */ 10 11 /** 12 * 1.常量定義 final,最終、不變,常量識別符號全大寫 13 * 2.定義常量類儘量不要用public 14 * 3.需要經常呼叫的使用static修飾 15 */ 16 private static final String URL = "jdbc:mysql://127.0.0.1:3306/ylws?serverTimezone=UTC&characterEncoding=utf-8"; 17 private
static final String DRIVER = "com.mysql.cj.jdbc.Driver"; 18 private static final String USER = "root"; 19 private static final String PASSWORD = "123456"; 20 21 /* 22 1、建立連線 23 2、執行語句 24 3、返回結果 25 */ 26 private static Connection connection = null; 27 //PreparedStatement比Statement訪問速度更快。能防止sql注入 28 private static PreparedStatement preparedStatement = null; 29 private static ResultSet resultSet; 30 31 /** 32 * 建立連線 33 * 只執行一次 34 */ 35 private static Connection getConnection() { 36 try { 37 //利用反射,載入驅動 38 Class.forName(DRIVER); 39 //建立連線 40 connection = DriverManager.getConnection(URL, USER, PASSWORD); 41 /* 42 位運算子:&、|、! 43 邏輯運算子:&&、||、^ 44 單目運算子:~ 45 一、&&和&的區別 46 1、相同點 47 1)&和&&都可以用作邏輯與的運算子,表示邏輯與(and),當運算子兩邊的表示式的結果都為true時, 48 整個運算結果才為true,否則,只要有一方為false,則結果為false。 49 2、不同點 50 1)&&具有短路的功能,即如果第一個表示式為false,則不再計算第二個表示式 51 2)&作為為運算時,&是按位與操作,參加運算的兩個資料按照二進位制位進行“與”運算。 52 二、|| 和 | 的區別 53 1、相同點 54 1)當二者表示或的時候,二者都false則false,只有一個為true的時則true。 55 2、不同點 56 1)|| 也存在短路的問題,當前者為true時,則不會判斷後面的表達(與上面的&&類似) 57 2)| 是按位或操作,參加運算的兩個資料按照二進位制位進行“或”運算。 58 三、~與!的區別 59 1、~是一個單目運算子,用來對一個二進位制位按位取反,即0變成1,1變成0,比如~00001111=11110000 60 2、!是邏輯非運算子,!a的意思是:若a為真,則!a為假,若a為假則!a為真。 61 四、邏輯異或^ 62 1、a^b,a 與 b 相異時,結果為 true ,相同為false,例如1^0=1,0^0=0,1^1=0,0^1=1,1表示true 63 */ 64 } catch (SQLException | ClassNotFoundException e) { 65 e.printStackTrace(); 66 } 67 return connection; 68 } 69 70 /** 71 * 執行增加、刪除、修改操作 72 * 73 * @param sql sql語句 74 * @return 影響行數 75 */ 76 public static int excuteUpdate(String sql) { 77 getConnection(); 78 int count = 0; 79 try { 80 preparedStatement = connection.prepareStatement(sql); 81 //修改 82 count = preparedStatement.executeUpdate(); 83 } catch (SQLException e) { 84 e.printStackTrace(); 85 } finally { 86 close(); 87 } 88 return count; 89 } 90 91 /** 92 * 執行查詢操作 93 * 94 * @param sql sql語句 95 * @return 查詢結果 96 */ 97 public static ResultSet getResultSet(String sql) { 98 getConnection(); 99 try { 100 preparedStatement = connection.prepareStatement(sql); 101 //查詢 102 resultSet = preparedStatement.executeQuery(); 103 } catch (SQLException e) { 104 e.printStackTrace(); 105 } 106 //在查詢結束時關閉 107 // finally { 108 // close(); 109 // } 110 return resultSet; 111 } 112 113 /** 114 * 關閉連線 115 */ 116 private static void close() { 117 if (preparedStatement != null) { 118 try { 119 preparedStatement.close(); 120 preparedStatement = null; 121 } catch (SQLException e) { 122 e.printStackTrace(); 123 } 124 } 125 126 if (connection != null) { 127 try { 128 connection.close(); 129 connection = null; 130 } catch (SQLException e) { 131 e.printStackTrace(); 132 } 133 } 134 if (resultSet != null) { 135 try { 136 resultSet.close(); 137 resultSet = null; 138 } catch (SQLException e) { 139 e.printStackTrace(); 140 } 141 } 142 } 143 144 }