您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“怎么使用MySQL進行JDBC編程與增刪改查”,內容詳細,步驟清晰,細節處理妥當,希望這篇“怎么使用MySQL進行JDBC編程與增刪改查”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
JDBC是一種用于執行sql語句的Java API,他是java中的數據庫連接規范,這個API由一些接口和類組成。它為java開發人員操作數據庫提供了一個標準的API,可以為多種關系數據庫提供統一訪問
本質是通過代碼自己實現一個MySQL客戶端,通過網絡和服務器進行數據的交互,客戶端不能憑空出現,所以數據庫提供了一組API方便我們實現
數據庫的種類有很多,不同的數據庫提供的API不太一樣,所以java為了解決這一問題提供了JDBC,java自帶的一種數據庫操作API,這種API覆蓋所有數據庫操作的操作方式
本質上是java自身完成了JDBC API和數據庫API之間進行轉換
創建DataSource對象,這個對象就描述了數據庫服務器在哪
DataSource dataSource = new MysqlDataSource(); //設置數據庫所在的地址 ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/lmp?characterEncoding=utf8&useSSL=false"); //設置登錄數據庫的用戶名 ((MysqlDataSource)dataSource).setUser("root"); //設置登錄數據庫的密碼 ((MysqlDataSource)dataSource).setPassword("woshizhu123");
通過Connection連接數據庫(輸入密碼連接成功)
//import java.sql.Connection; Connection connection = dataSource.getConnection();
拼接sql語句(寫入sql語句)
String sql = "insert into student values(1,'張三')";
將sql語句包裝成對象
PreparedStatement statement = connection.prepareStatement(sql);
執行sql語句(按下回車執行sql語句)
int ret = statement.executeUpdate();
執行 update delete insert 使用 executeUpdate() 方法
執行 select 使用 executeQuery() 方法
使用 executeQuery() 方法 會返回一個resultSet集合, 包含查找到的數據, 初始情況下resultSet不指向任一行記錄, 使用next,讓他指向第一條記錄, 再使用next指向下一條記錄
釋放資源
statement.close(); connection.close();
public class TestJDBC { public static void main(String[] args) throws SQLException { Scanner scanner = new Scanner(System.in); DataSource dataSource = new MysqlDataSource(); ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java102?characterEncoding=utf-8&useSSL=false"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("woshizhu123"); Connection connection = dataSource.getConnection(); System.out.println("輸入id"); int id = scanner.nextInt(); System.out.println("輸入名字"); String name = scanner.next(); String sql = "insert into student values(?,?)"; PreparedStatement statement = connection.prepareStatement(sql); statement.setInt(1,id); statement.setString(2,name); int ret = statement.executeUpdate(); if(ret == 1){ System.out.println("插入成功"); }else { System.out.println("插入失敗"); } statement.close(); connection.close(); } }
public class TestJDBCDelete { public static void main(String[] args) throws SQLException { DataSource dataSource = new MysqlDataSource(); ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java102?characterEncoding=utf8&useSSL=false"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("woshizhu123"); Connection connection = dataSource.getConnection(); Scanner scanner = new Scanner(System.in); System.out.println("請輸入要刪除的id"); int id = scanner.nextInt(); String sql = "delete from student where id = ?"; PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setInt(1,id); int ret = preparedStatement.executeUpdate(); System.out.println(ret); preparedStatement.close(); connection.close(); }
public class TestJDBCUpdate { public static void main(String[] args) throws SQLException { DataSource dataSource = new MysqlDataSource(); ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java102?characterEncoding=utf8&useSSL=false"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("woshizhu123"); Connection connection = dataSource.getConnection(); Scanner scanner = new Scanner(System.in); System.out.println("請輸入要修改的學生id"); int id = scanner.nextInt(); System.out.println("請輸入要修改的學生姓名"); String name = scanner.next(); String sql = "update student set name = ? where id = ?"; PreparedStatement statement = connection.prepareStatement(sql); statement.setString(1,name); statement.setInt(2,id); int ret = statement.executeUpdate(); System.out.println(ret); statement.close(); connection.close(); } }
public static void testJDBCSelect() throws SQLException { //1創建DataSource對象 DataSource dataSource = new MysqlDataSource(); //2連接數據庫 ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java_5_31?characterEncoding=utf-8&useSSL=true"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("listen"); Connection connection = dataSource.getConnection(); //3拼接sql String sql = "select * from student"; PreparedStatement statement = connection.prepareStatement(sql); //4執行sql ResultSet resultSet = statement.executeQuery(); //5遍歷得到的集合 while (resultSet.next()) { int id = resultSet.getInt("id"); String name = resultSet.getString("name"); int classId = resultSet.getInt("classId"); System.out.println("id " + id + " name " + name + " classId " + classId); } //6關閉資源 resultSet.close(); statement.close(); connection.close(); }
讀到這里,這篇“怎么使用MySQL進行JDBC編程與增刪改查”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。