更新時間:2021-02-23 17:21:02 來源:動力節點 瀏覽1480次
JDBC可以實現SQL語句在數據庫中的執行,也就是說,數據庫的所有操作,包括對數據庫,對表格,對記錄都可以進行相應的操作,但是其實原則上,JDBC只應該對記錄進行操作,不能對表格乃至數據庫進行更改操作。下面就為大家介紹一些JDBC常用操作。
1.獲取數據庫連接
一般為了方便建立數據庫鏈接通常會創建一個類,里面封裝好實現數據庫鏈接的函數,方便調用實現數據庫連接。
?import java.sql.Connection;
?import java.sql.DriverManager;
?import java.sql.SQLException;
??public class DBUtil {
?
??????private static final String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
?????private static final String USER="root";
?????private static final String PASSWORD="tiger";
?????
?????private static Connection conn=null;
?????
?????static {
?????????try {
?????????????//1.加載驅動程序
?????????????Class.forName("com.mysql.jdbc.Driver");
?????????????//2.獲得數據庫的連接
?????????????conn=DriverManager.getConnection(URL, USER, PASSWORD);
?????????} catch (ClassNotFoundException e) {
?????????????e.printStackTrace();
?????????} catch (SQLException e) {
????????????e.printStackTrace();
?????????}
?????}
?????//將獲得的數據庫與java的鏈接返回(返回的類型為Connection)
?????public static Connection getConnection(){
?????????return conn;
?????}
?}
2、增加表中記錄
??import java.sql.DriverManager;
??import java.sql.PreparedStatement;
??import java.sql.ResultSet;
??import java.sql.SQLException;
??import java.sql.Statement;
??import java.sql.Connection;
??import java.sql.DriverManager;
??import java.sql.SQLException;
??
?
?public class javaTest {
????
?????public static void main(String[] args) throws ClassNotFoundException, SQLException ?{
?????????String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
?????????String USER="root";
?????????String PASSWORD="tiger";
?????????//1.加載驅動程序
?????????Class.forName("com.mysql.jdbc.Driver");
?????????//2.獲得數據庫鏈接
?????????Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);
?????????//3.通過數據庫的連接操作數據庫,實現增刪改查(使用Statement類)
????????String s=""+"insert into user(id,user_name,user_password) values("+"2,?,123)";
?????????PreparedStatement pst=conn.prepareStatement(s);
?????????
?????????pst.setString(1, "xiaoshuai1");
?????????//pst.setString(2, "123");
?????????????
?????????pst.execute(); ???????
?????????//關閉資源 ???????
?????????pst.close();
?????????conn.close();
?????}
?}
3、刪除數據庫表格記錄
?import java.sql.DriverManager;
??import java.sql.PreparedStatement;
??import java.sql.ResultSet;
??import java.sql.SQLException;
??import java.sql.Statement;
??import java.sql.Connection;
??import java.sql.DriverManager;
??import java.sql.SQLException;
??
?
?public class javaTest {
????
?????public static void main(String[] args) throws ClassNotFoundException, SQLException ?{
?????????String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
?????????String USER="root";
?????????String PASSWORD="tiger";
?????????//1.加載驅動程序
?????????Class.forName("com.mysql.jdbc.Driver");
?????????//2.獲得數據庫鏈接
?????????Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);
?????????//3.通過數據庫的連接操作數據庫,實現增刪改查(使用Statement類)
?????????String s="delete from user where id=2 and user_name=?";
?????????PreparedStatement pst=conn.prepareStatement(s);
?????????
?????????pst.setString(1, "xiaoshuai1");
?????????//pst.setString(2, "123");
?????????????
?????????pst.execute(); ???????
?????????//關閉資源 ???????
????????pst.close();
????????conn.close();
?????}
?}
4、更新數據庫中表格記錄信息
?import java.sql.DriverManager;
??import java.sql.PreparedStatement;
??import java.sql.ResultSet;
??import java.sql.SQLException;
??import java.sql.Statement;
??import java.sql.Connection;
??import java.sql.DriverManager;
??import java.sql.SQLException;
?
?
?public class javaTest {
????
?????public static void main(String[] args) throws ClassNotFoundException, SQLException ?{
?????????String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
?????????String USER="root";
?????????String PASSWORD="tiger";
?????????//1.加載驅動程序
?????????Class.forName("com.mysql.jdbc.Driver");
?????????//2.獲得數據庫鏈接
?????????Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);
?????????//3.通過數據庫的連接操作數據庫,實現增刪改查(使用Statement類)
?????????String s="update user set user_name=? where id=1 ";
?????????PreparedStatement pst=conn.prepareStatement(s);
?????????
?????????pst.setString(1, "xiaoshuaige");
?????????//pst.setString(2, "123");
?????????????
?????????pst.execute(); ???????
?????????//關閉資源 ???????
?????????pst.close();
?????????conn.close();
?????}
?}
5、調用存儲過程
(1)調用無參存儲過程
1)存儲過程代碼
?CREATE ?PROCEDURE SP_select_nofilter3()
?BEGIN
??????SELECT * FROM file;
?END;
2)調用代碼
?import java.sql.DriverManager;
??import java.sql.PreparedStatement;
??import java.sql.ResultSet;
??import java.sql.SQLException;
??import java.sql.Statement;
??import java.sql.CallableStatement;
??import java.sql.Connection;
??import java.sql.DriverManager;
??import java.sql.SQLException;
?
?
?public class javaTest {
????
?????public static void main(String[] args) throws ClassNotFoundException, SQLException ?{
?????????String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
?????????String USER="root";
?????????String PASSWORD="tiger";
????????//1.加載驅動程序
?????????Class.forName("com.mysql.jdbc.Driver");
?????????//2.獲得數據庫鏈接
?????????Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);
?????????//3.通過數據庫的連接操作數據庫,實現增刪改查(使用Statement類)
?????????String s="call SP_select_nofilter3() ";
?????????CallableStatement cst=conn.prepareCall(s);
?????????????
?????????ResultSet rs=cst.executeQuery();
?????????
?????????while(rs.next()){
?????????????System.out.println(rs.getString("user_name"));
????????}
?????????//關閉資源 ???????
?????????cst.close();
?????????conn.close();
?????}
?}
以上就是JDBC常見操作,主要還是關于數據庫中表格的數據的記錄相關的,所以我們只要弄清楚數據庫中的數據的記錄情況,對于我們使用JDBC有很大的幫助。本站的JDBC教程中也會給大家很多使用JDBC的技巧,想要掌握的小伙伴趕快行動吧!
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習