資料庫連線——SQLServer
阿新 • • 發佈:2019-01-10
private static Logger logger = Logger.getLogger(Test.class); //驅動 private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 連線路徑 private static final String URL = "jdbc:sqlserver://XXX:1433;databaseName=XXX"; // 使用者名稱 private static final String USERNAME = ""; // 密碼 private static final String PASSWORD = ""; //靜態程式碼塊 static { try { // 載入驅動 Class.forName(DRIVER); } catch (ClassNotFoundException e) { e.printStackTrace(); } } /* * 獲取資料庫連線 */ public static Connection getConnection() { Connection conn = null; logger.info("開始連線資料庫"); try{ conn=DriverManager.getConnection(URL, USERNAME, PASSWORD); }catch(SQLException e){ e.printStackTrace(); logger.error("資料庫連線失敗!"); } logger.info("資料庫連線成功"); return conn; } /* * 關閉資料庫連線,注意關閉的順序 */ public static void close(ResultSet rs, PreparedStatement ps, Connection conn) { if(rs!=null){ try{ rs.close(); rs=null; }catch(SQLException e){ e.printStackTrace(); logger.error("關閉ResultSet失敗"); } } if(ps!=null){ try{ ps.close(); ps=null; }catch(SQLException e){ e.printStackTrace(); logger.error("關閉PreparedStatement失敗"); } } if(conn!=null){ try{ conn.close(); conn=null; }catch(SQLException e){ e.printStackTrace(); logger.error("關閉Connection失敗"); } } } //測試資料庫連線是否成功 public static String getInfo() throws Exception { Connection conn =null; Statement st=null; ResultSet rs = null; String sql = "select productType ,id from 表名"; JSONArray js = new JSONArray(); try { conn = getConnection(); st = conn.createStatement(); rs = st.executeQuery(sql); String productType = ""; while (rs.next()) { JSONObject object = new JSONObject(); productType = rs.getString("productType"); object.put("productType", productType); js.put(object); } } catch (Exception e) { sql="ERR: "+e.toString(); e.printStackTrace(); } finally { if (st!=null) st.close(); if (rs!=null) rs.close(); if (conn!=null) close(null,null,conn); } return js.toString(); }