日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

java mysql 操作类_Java 数据库简单操作类

發布時間:2024/10/8 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java mysql 操作类_Java 数据库简单操作类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 packagecom.latiny.db;2

3 import java.io.*;4 import java.sql.*;5 importjava.util.ArrayList;6 importjava.util.Properties;7

8 /*

9 * 數據庫操作類10 */

11

12 public classDBUtil {13

14 //定義需要的變量

15 private static String driver =null;16 private static String url =null;17 private static String user=null;18 private static String password=null;19

20 private staticConnection conn;21 //使用PreparedStatment可以防止sql注入

22 private staticPreparedStatement ps;23 private staticResultSet rs;24 private staticCallableStatement cs;25

26 //讀配置文件

27 private static Properties pp=null;28 private static InputStream fis=null;29

30

31 //加載驅動,只需要執行一次

32 static

33 {34 try

35 {36 pp = newProperties();37

38 //當我們使用java web的時候,讀取文件要使用類加載器

39 fis = DBUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");40

41 pp.load(fis);42 driver = pp.getProperty("DRIVER");43 url = pp.getProperty("URL");44 user = pp.getProperty("USER");45 password = pp.getProperty("PASSWORD");46

47 //1 加載驅動

48 Class.forName(driver);49

50 }51 catch(Exception e)52 {53 e.printStackTrace();54 }55 finally

56 {57 try

58 {59 fis.close();60 } catch(IOException e) {61 //TODO Auto-generated catch block

62 e.printStackTrace();63 }64 fis = null;65 }66 }67

68 /*

69 * 獲取Connection連接70 */

71 public staticConnection getConn()72 {73 try

74 {75 //2 獲取數據庫連接

76 conn =DriverManager.getConnection(url, user, password);77 }78 catch(SQLException e)79 {80 //TODO Auto-generated catch block

81 e.printStackTrace();82 }83

84 returnconn;85 }86

87 /*

88 * 直接返回rs結果,此方法不能關閉rs,因為后面調用它的類還會用到,如果關閉則不能正常使用89 */

90 public staticResultSet queryResult(String sql, String[] parameters)91 {92 try

93 {94 conn =getConn();95 //3 創建Statement對象

96 ps =conn.prepareStatement(sql);97 //4 給問號賦值,即給sql語句的條件參數賦值如果需要的話

98 if(parameters!=null)99 {100 for(int i=1; i<=parameters.length; i++)101 {102 ps.setString(i, parameters[i-1]);103 }104 }105

106 //5 執行sql獲取返回結果

107 rs =ps.executeQuery();108 }109 catch(SQLException e)110 {111 //TODO Auto-generated catch block

112 e.printStackTrace();113 }114

115 returnrs;116 }117

118 /*

119 * 將rs結果封裝成ArrayList,然后可以關閉rs,節省數據庫訪問資源120 */

121 public staticArrayList queryResult2(String sql, String[] parameters)122 {123 ArrayList al = newArrayList();124

125 try

126 {127 //2 獲取數據庫連接

128 conn =getConn();129 //3 創建Statement對象

130 ps =conn.prepareStatement(sql);

132 //4 給問號賦值,即給sql語句的條件參數賦值如果需要的話

133 if(parameters!=null)134 {135 for(int i=1; i<=parameters.length; i++)136 {137 ps.setString(i, parameters[i-1]);138 }139 }140

141 //5 執行sql語句獲取返回結果

142 rs =ps.executeQuery();143

144 //獲取rs的結構

145 ResultSetMetaData rsmd =rs.getMetaData();146 //獲取查詢語句的列數

147 int column =rsmd.getColumnCount();148

149 while(rs.next())150 {151 //對象數組,存儲一行數據

152 Object[] objs = newObject[column];153 for(int i=0; i

160 }161 catch(SQLException e)162 {163 //TODO Auto-generated catch block

164 e.printStackTrace();165 }166 finally

167 {168 //關閉資源

169 close(rs, ps, conn);170 }171

172 returnal;173 }174

175 //調用存儲過程,帶輸入輸出參數的

176 public staticCallableStatement callProcedure(String sql, String[] inputPara, Integer[] outputPara)177 {178

179 try

180 {181 conn =getConn();182 cs =conn.prepareCall(sql);183 for(int i=0; inputPara!=null && i

188 //給output參數賦值

189 for(int j=0; outputPara!=null && j

194 cs.execute();195

196 } catch(SQLException e) {197 //TODO Auto-generated catch block

198 e.printStackTrace();199 }200 finally

201 {202 close(rs, ps, conn);203 }204

205 returncs;206

207 }208

209 //update, insert, delete

210 public staticInteger updateData(String sql, String[] parameters)211 {212 int result = 0;213 try

214 {215 conn =getConn();216 ps =conn.prepareStatement(sql);217 if(parameters!=null)218 {219 for(int i=0; i

225 //執行executeUpdate并且返回受影響的行數

226 result =ps.executeUpdate();227

228 }229 catch(Exception e)230 {231 e.printStackTrace();232 }233 finally

234 {235 close(rs, ps, conn);236 }237

238 returnresult;239 }240

241 //關閉對應的數據庫連接資源

242 public static voidclose(ResultSet rs1, PreparedStatement ps1, Connection conn1)243 {244

245 try

246 {247 if(rs1!=null)248 {249 rs1.close();250 }251 if(ps1!=null)252 {253 ps1.close();254 }255 if(conn1!=null)256 {257 conn1.close();258 }259

260 } catch(SQLException e) {261 //TODO Auto-generated catch block

262 e.printStackTrace();263 }264

265 }266 }

總結

以上是生活随笔為你收集整理的java mysql 操作类_Java 数据库简单操作类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。