MyBatis(一)-JDBC程式設計
阿新 • • 發佈:2021-02-02
一、jdbc查詢資料庫主要步驟
1、載入驅動。
2、通過驅動管理類,獲取資料庫連結。
3、定義sql語句,用?表示佔位符。
4、獲取預處理statement。
5、設定引數,引數序號從1開始。
6、執行sql語句,查詢結果集。
7、遍歷查詢結果集。
8、釋放資源。
二、jdbc的不足
1、資料庫連結建立、釋放頻繁,造成系統資源浪費,從而影響系統性能。可使用資料庫連結池解決此問題。
2、Sql語句在程式碼中為硬編碼,不易維護,實際應用中sql變化可能較大,sql變動需要改變java程式碼。
3、使用preparedStatement,引數傳入為硬編碼,因sql語句的where條件不定,修改sql時還要修改程式碼,系統不易維護。
三、主要程式碼
public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { //載入資料庫驅動 Class.forName("com.mysql.jdbc.Driver"); //通過驅動管理類獲取資料庫連結 connection = DriverManager .getConnection("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8","root", "root"); //定義sql語句,?表示佔位符 String sql = "select * from user where username = ?"; //獲取預處理statement preparedStatement = connection.prepareStatement(sql); //設定引數,sql語句中引數序號從1開始 preparedStatement.setString(1, "Tom"); //執行查詢,查詢結果集 resultSet = preparedStatement.executeQuery(); //遍歷結果集 while(resultSet.next()){ System.out.println(resultSet.getString("id")+" "+resultSet.getString("username")); } } catch (Exception e) { e.printStackTrace(); }finally{ //釋放資源 if(resultSet!=null){ try { resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } if(preparedStatement!=null){ try { preparedStatement.close(); } catch (SQLException e) { e.printStackTrace(); } } if(connection!=null){ try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } }