1. 程式人生 > >資料庫連線——SQLServer

資料庫連線——SQLServer

   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();		
	}