JDBC實現簡單的增刪改查
阿新 • • 發佈:2018-11-17
exceptio 介紹 cde sna arch png into 註冊 sets
JDBC的開發步驟
* a: 步驟介紹
1.註冊驅動
告知JVM使用的是哪一個數據庫的驅動
2.獲得連接
使用JDBC中的類,完成對MySQL數據庫的連接
3.獲得語句執行平臺
通過連接對象獲取對SQL語句的執行者對象
4.執行sql語句
使用執行者對象,向數據庫執行SQL語句
獲取到數據庫的執行後的結果
5.處理結果
6.釋放資源 一堆close()
一.準備工作
1.數據庫的安裝與配置(省略了)
2.導入mysql數據庫驅動程序jar包
a.創建lib目錄,用於存放當前項目需要的所有jar包
b. 選擇jar包,右鍵執行build path / Add to Build Path
將要導入的jar包復制到lib文件夾下,然後右鍵選擇build path---->add to build path
如果出現如下所示的文件即導入成功了。
3.導入一些需要的包
二.實現增刪改查
1.數據準備:創建數據庫和表結構
以下是在數據庫中操作的
//創建數據庫
create database mybase;
//創建分類表 CREATE TABLE sort( sid INT PRIMARY KEY AUTO_INCREMENT, sname VARCHAR(100), sprice DOUBLE, sdesc VARCHAR(500) );
//初始化數據 insert into sort(sname,sprice,sdesc) values(‘家電‘,2000, ‘優惠的促銷‘); insert into sort(sname,sprice,sdesc) values(‘家具‘,8900, ‘家具價格上調,原材料漲價‘); insert into sort(sname,sprice,sdesc) values(‘兒童玩具‘,290, ‘賺家長的錢‘); insert into sort(sname,sprice,sdesc) values(‘生鮮‘,500.99, ‘生鮮商品‘); insert into sort(sname,sprice,sdesc) values(‘服裝‘,24000, ‘換季銷售‘); insert into sort(sname,sprice,sdesc) values(‘洗滌‘,50, ‘洗發水促銷‘);
通過查詢語句SELECT * FROM sort; 可以看到數據插入成功了
2.insert
package harbin.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import com.mysql.jdbc.PreparedStatement; public class JDBCDemo { public static void main(String []args) throws ClassNotFoundException, SQLException{ Class.forName("com.mysql.jdbc.Driver");//註冊驅動 String url = "jdbc:mysql://localhost:3306/mybase";//獲得數據庫連接 String username = "root"; //登陸數據庫的用戶名和密碼 String password = "682436498"; Connection con = DriverManager.getConnection(url,username,password); String sql = "INSERT INTO sort(sname,sprice,sdesc) VALUES(?,?,?)"; PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql); pst.setString(1, "汽車用品"); pst.setInt(2, 50000); pst.setString(3, "瘋狂漲價"); int row = pst.executeUpdate(); System.out.println(row); //打印結果為1,表示插入成功了
con.close();
pst.close();
}
}
在數據庫中可以看到插入成功了
3.update
package harbin.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import com.mysql.jdbc.PreparedStatement; public class JDBCDemo { public static void main(String []args) throws ClassNotFoundException, SQLException{ Class.forName("com.mysql.jdbc.Driver");//註冊驅動 String url = "jdbc:mysql://localhost:3306/mybase";//獲得數據庫連接 String username = "root"; //登陸數據庫的用戶名和密碼 String password = "682436498"; Connection con = DriverManager.getConnection(url,username,password); String sql = "UPDATE sort SET sname=?,sprice=? WHERE sid=?"; PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql); pst.setString(1, "汽車美容"); pst.setInt(2, 49888); pst.setInt(3, 7); int row = pst.executeUpdate(); System.out.println(row); con.close(); pst.close(); } }
數據庫中結果已經更新
4.delete
package harbin.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import com.mysql.jdbc.PreparedStatement; public class JDBCDemo { public static void main(String []args) throws ClassNotFoundException, SQLException{ Class.forName("com.mysql.jdbc.Driver");//註冊驅動 String url = "jdbc:mysql://localhost:3306/mybase";//獲得數據庫連接 String username = "root"; //登陸數據庫的用戶名和密碼 String password = "682436498"; Connection con = DriverManager.getConnection(url,username,password); String sql = "DELETE FROM sort WHERE sid =?"; PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql); pst.setInt(1, 7); int row = pst.executeUpdate(); System.out.println(row); con.close(); pst.close(); } }
數據庫中可以看到sid=7的已經被刪除了
5.select
package harbin.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import com.mysql.jdbc.PreparedStatement; public class JDBCDemo { public static void main(String []args) throws ClassNotFoundException, SQLException{ Class.forName("com.mysql.jdbc.Driver");//註冊驅動 String url = "jdbc:mysql://localhost:3306/mybase";//獲得數據庫連接 String username = "root"; //登陸數據庫的用戶名和密碼 String password = "682436498"; Connection con = DriverManager.getConnection(url,username,password); String sql = "SELECT * FROM sort WHERE sname=? AND sprice=?"; PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql); pst.setString(1,"家電"); pst.setInt(2,2000); ResultSet rs = pst.executeQuery(); int col = rs.getMetaData().getColumnCount(); while(rs.next()){ for(int i=1;i<=col;i++){ System.out.println(rs.getString(i)); } } con.close(); pst.close(); } }
輸出結果為:
可以看到與數據庫中的一致
JDBC實現簡單的增刪改查