1. 程式人生 > >寫jdbc的工具類 java

寫jdbc的工具類 java

為什麼要有工具類

jdbc 連線資料庫中很常用,但程式碼量又多,所以編寫一個工具類是很重要的。
之前我們已經寫了jdbc連線的程式碼 這裡我們就寫 一個工具類並實現

程式碼
public class JDBCUtil {
	
	static String driverClass = null;
	static String url = null;
	static String name = null;
	static String password= null;
	
	static{
		try {
			//1. 建立一個屬性配置物件
			Properties properties =
new Properties(); //如果使用直接new的格式 ,需要把檔案放在專案下 //InputStream is = new InputStream("...."); //使用類載入器,去讀取src底下的資原始檔。 後面在servlet InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties"); //匯入輸入流。 properties.load(is); //讀取屬性 driverClass = properties.getProperty
("driverClass"); url = properties.getProperty("url"); name = properties.getProperty("name"); password = properties.getProperty("password"); } catch (Exception e) { e.printStackTrace(); } } /** * 獲取連線物件 * @return */ public static Connection getConn(){ Connection conn = null;
try { Class.forName(driverClass); java.sql.DriverManager.registerDriver(new Driver()); conn = DriverManager.getConnection(url, name, password); } catch (Exception e) { e.printStackTrace(); } return conn; } /** * 釋放資源 * @param conn * @param st * @param rs */ //有返回的 如查詢類的操作 public static void release(Connection conn , Statement st , ResultSet rs){ closeRs(rs); closeSt(st); closeConn(conn); } //對於更新等類的操作 public static void release(Connection conn , Statement st ){ closeSt(st); closeConn(conn); } private static void closeRs(ResultSet rs){ try { if(rs != null){ rs.close(); } } catch (SQLException e) { e.printStackTrace(); }finally{ rs = null; } } private static void closeSt(Statement st){ try { if(st != null){ st.close(); } } catch (SQLException e) { e.printStackTrace(); }finally{ st = null; } } private static void closeConn(Connection conn){ try { if(conn != null){ conn.close(); } } catch (SQLException e) { e.printStackTrace(); }finally{ conn = null; } } }

其中我們用到了properties 也是我們常說的配置檔案 在這裡我們一般配置連入引數 和 密碼等,以後就不用修改程式。

測試

public static void main(String[] args) {
		Connection conn  = null;
		Statement st = null;
		ResultSet rs = null;
		try {
			//1. 獲取連線物件
			conn = JDBCUtil.getConn();
			//2. 根據連線物件,得到statement
			st = conn.createStatement();
			
			//3. 執行sql語句,返回ResultSet
			String sql = "select * from t_stu";
			rs= st.executeQuery(sql);
			
			//4. 遍歷結果集
			while(rs.next()){
				String name = rs.getString("name");
				....
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			JDBCUtil.release(conn, st, rs);
		}
		
	}

sql語句的簡單入門