Java通訊錄可以利用SQL來存儲聯系人信息,使得通訊錄功能更加完善。以下是Java通訊錄與SQL的相關知識點:
1. SQL數據庫
SQL數據庫是一種結構化數據庫語言,可以將數據存儲在表中,訪問和修改數據都需要使用特定的語句。在Java通訊錄中,多使用MySQL數據庫。
//連接數據庫 String url = "jdbc:mysql://localhost:3306/addressbook"; String user = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, user, password);
2. 數據庫表設計
在Java通訊錄中,我們可以設計一個contacts表來存儲聯系人信息,表結構如下:
CREATE TABLE contacts ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, phone VARCHAR(20) NOT NULL, address VARCHAR(100), PRIMARY KEY (id) );
3. 數據庫操作
在Java中,使用JDBC可以方便地操作數據庫。以下是SQL查詢contacts表中聯系人信息的代碼:
Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM contacts"); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); String phone = rs.getString("phone"); String address = rs.getString("address"); System.out.println("id: " + id + ", name: " + name + ", phone: " + phone + ", address: " + address); }
4. Java通訊錄實現
通過以上知識點,我們可以將Java通訊錄與SQL相結合,實現更完善的聯系人管理功能。
//添加聯系人 String sql = "INSERT INTO contacts(name, phone, address) VALUES (?, ?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, name); pstmt.setString(2, phone); pstmt.setString(3, address); pstmt.executeUpdate(); //刪除聯系人 String sql = "DELETE FROM contacts WHERE id = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, id); pstmt.executeUpdate(); //修改聯系人 String sql = "UPDATE contacts SET phone = ?, address = ? WHERE id = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, phone); pstmt.setString(2, address); pstmt.setInt(3, id); pstmt.executeUpdate(); //查詢聯系人 String sql = "SELECT * FROM contacts WHERE name LIKE ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, name + "%"); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { //獲取聯系人信息 }
以上是Java通訊錄與SQL相關的知識點和代碼實現。在實際開發中,還需要考慮安全性、效率等方面的問題,才能使得通訊錄系統更加完善。