簡單的CRUD(一),簡單CRUD(

來源:互聯網
上載者:User

簡單的CRUD(一),簡單CRUD(
一、JDBC的概述--(來源於百度)

  JDBC(Java DataBase Connectivity,java資料庫連接)是一種用於執行SQL語句的Java API,可以為多種關聯式資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。JDBC提供了一種基準,據此可以構建更進階的工具和介面,使資料庫開發人員能夠編寫資料庫應用程式。JDBC對Java程式員而言是API,對實現與資料庫連接的服務提供者而言是介面模型。

  JDBC 可做三件事:與資料庫建立串連、發送操作資料庫的語句並處理結果。

  JDBC API提供了以下介面和類:

  • DriverManager: 這個類管理資料庫驅動程式的列表。確定內容是否符合從Java應用程式使用的通訊子協議正確的資料庫驅動程式的串連請求。識別JDBC在一定子協議的第一個磁碟機將被用來建立資料庫連接。

  • Driver: 此介面處理與資料庫伺服器通訊。很少直接直接使用驅動程式(Driver)對象,一般使用DriverManager中的對象,它用於管理此類型的對象。它也抽象與驅動程式對象工作相關的詳細資料

  • Connection : 此介面與接觸資料庫的所有方法。連線物件表示通訊上下文,即,與資料庫中的所有的通訊是通過此唯一的連線物件。

  • Statement : 可以使用這個介面建立的對象的SQL語句提交到資料庫。一些派生的介面接受除執行預存程序的參數。

  • ResultSet: 這些對象儲存從資料庫後,執行使用Statement對象的SQL查詢中檢索資料。它作為一個迭代器,可以通過移動它來檢索下一個資料。

  • SQLException: 這個類用於處理髮生在資料庫應用程式中的任何錯誤。

二、CRUD

  crud是指在做計算處理時的增加(Create)、讀取查詢(Retrieve)、更新(Update)和刪除(Delete)幾個單詞的首字母簡寫。crud主要被用在描述軟體系統中資料庫或者持久層(dao層)的基本操作功能。

三、實現簡單的CRUD1.實現條件

  1.jar包, mysql-connector-java-5.1.26-bin.jar

  2.資料庫MySQL

2.具體代碼

  1.dao層介面

 1 public interface ILoginUserDao { 2     /** 3      * 增加 4      * @param loginUser 5      */ 6     void save(LoginUser loginUser); 7  8     /** 9      * 刪除10      * @param id11      */12     void delete(Integer id);13 14     /**15      * 更新16      * @param loginUser17      */18     void update(LoginUser loginUser);19 20     /**21      * 查詢22      * @return23      */24     List query();25 }

  2.dao層實現

  1 public class LoginUserDao implements ILoginUserDao {  2     @Override  3     public void save(LoginUser loginUser) {  4         System.out.println("----save----");  5         // 首先載入jdbc實作類別  6         try {  7             // 1.載入驅動  8             Class.forName("com.mysql.jdbc.Driver");  9             // 2.建立連結 10             Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "admin"); 11             // 3.建立編譯語句 12             Statement statement = connection.createStatement(); 13             // 4.執行sql語句 14             String sql = "INSERT INTO loginuser(username, password) VALUES ('王五', '6666')"; 15             int i = statement.executeUpdate(sql); 16             // 5.釋放資源 17             statement.close(); 18             connection.close(); 19  20         } catch (Exception e) { 21             e.printStackTrace(); 22         } 23     } 24  25     @Override 26     public void delete(Integer id) { 27         System.out.println("----delete----"); 28         try { 29             // 1.載入驅動 30             Class.forName("com.mysql.jdbc.Driver"); 31             // 2.建立連結 32             Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "admin"); 33             // 3.建立編譯語句 34             Statement statement = connection.createStatement(); 35             // 4.執行語句 36             String sql = "DELETE FROM loginuser WHERE id = 2"; 37             int i = statement.executeUpdate(sql); 38             // 5.釋放資源 39             statement.close(); 40             connection.close(); 41         } catch (Exception e) { 42             e.printStackTrace(); 43         } 44     } 45  46     @Override 47     public void update(LoginUser loginUser) { 48         System.out.println("----update----"); 49         try { 50             // 1.載入驅動 51             Class.forName("com.mysql.jdbc.Driver"); 52             // 2.建立連結 53             Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "admin"); 54             // 3.建立編譯語句 55             Statement statement = connection.createStatement(); 56             // 4.執行sql語句 57             String sql = "UPDATE loginuser SET username = '王五', password = '55555' WHERE id = 1"; 58             int i = statement.executeUpdate(sql); 59             // 5.釋放資源 60             statement.close(); 61             connection.close(); 62         } catch (Exception e) { 63             e.printStackTrace(); 64         } 65     } 66  67     @Override 68     public List query() { 69         System.out.println("----query----"); 70         // new一個list集合對象 71         List<LoginUser> list = new ArrayList<>(); 72         try { 73             // 1.載入驅動 74             Class.forName("com.mysql.jdbc.Driver"); 75             // 2.建立連結 76             Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "admin"); 77             // 3.建立編譯語句 78             Statement statement = connection.createStatement(); 79             // 4.執行sql語句 80             String sql = "SELECT id, username, password FROM loginuser WHERE id > 4"; 81             ResultSet resultSet = statement.executeQuery(sql); 82             // 取出查詢內容 83             while (resultSet.next()) { 84                 String username = resultSet.getString("username"); 85                 String password = resultSet.getString("password"); 86                 // 建立LoginUser對象 87                 LoginUser loginUser = new LoginUser(); 88                 loginUser.setUsername(username); 89                 loginUser.setPassword(password); 90                 // 添加到集合 91                 list.add(loginUser); 92             } 93             // 5.釋放資源 94             resultSet.close(); 95             statement.close(); 96             connection.close(); 97  98         } catch (Exception e) { 99             e.printStackTrace();100         }101         return list;102     }103 }
3.注意事項

  1.使用DriverManager擷取串連.

  Connection conn = DriverManager.getConnection(String url,String user,String password)

  2.增加、刪除、修改執行sql語句 statement.executeUpdate(sql) 使用的是 executeUpdate,而查詢使用的是 executeQuery ==》ResultSet resultSet = statement.executeQuery(sql)

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.