使用JDBC完成CRUD(增刪改查)


1.什么是JDBC
JDBC是接口 是規范,本身sun公司沒有實現 需要各大數據庫廠商實現
最原生的持久化技術 其他的框架都是都jdbc進行封裝(增強拓展);
要去連接數據庫 就需要導入相應數據庫對jdbc實現的jar包

CRUD(增刪改查)下面看java代碼

第一步:導包,我用的是MySQL,所有導MySQL的jdbc實現jar包,其他的數據庫請找其他的數據庫jar包

public class JdbcDom{
    
    /**
     * 建表
     * @throws Exception 
     */
    @Test
    public void jianBiao() throws Exception {
        //賈:加載JDBC驅動(用反射的方式加載Driver(驅動)類)
        Class.forName("com.mysql.jdbc.Driver");
        //聯:連接數據庫(通過驅動管理器獲取數據庫連接("數據庫地址","數據庫賬號","數據庫秘密"))
        Connection connection = DriverManager.getConnection("jdbc:mysql:///2019_9_9","root","root");
        //欲:獲得語句對象,
        //    上下語句是有關聯的,只有獲取了數據庫連接對象才能拿到語句對象;
        //    獲取語句對象,才能將sql語句執行到數據庫
        Statement cs = connection.createStatement();
        
        
        //執:執行sql語句(cs.執行數據更新(CREATE TABLE 表名 (字段名1   數據類型(數據長度) primary key not null AUTO_INCREMENT,字段名2   數據類型(數據長度),....)))
        //primary key:設為主鍵
        //not null:不為空
        //AUTO_INCREMENT:自增
        cs.executeUpdate("CREATE TABLE tabeName2 (ID int primary key not null AUTO_INCREMENT,name varchar(10),age int)");
        
        
        //事:事務關閉
        cs.close();//關閉語句連接
        connection.close();//關閉數據庫連接
    }
    
    
    
    
    /**
     * 刪除指定id的數據
     * @throws Exception
     */
    @Test
    public void removeValue() throws Exception{
        //
        Class.forName("com.mysql.jdbc.Driver");
        //
        Connection connection = DriverManager.getConnection("jdbc:mysql:///2019_9_9","root","root");
        //
        Statement cs = connection.createStatement();
        //
        cs.executeUpdate("DELETE FROM tabename2 WHERE id=1");
        System.out.println("刪除完成");
        //
        cs.close();
        connection.close();
    }
    
    
    /**
     * 添加數據
     * @throws Exception 
     */
    @Test
    public void addValue() throws Exception{
        //
        Class.forName("com.mysql.jdbc.Driver");
        //
        Connection connection = DriverManager.getConnection("jdbc:mysql:///2019_9_9","root","root");
        //
        Statement cs = connection.createStatement();
        //
        cs.executeUpdate("INSERT INTO tabename2 VALUES (null,'我去',20)");
        //
        cs.close();
        connection.close();
        
    }
    
    /**
     * 根據id修改數據
     * @throws Exception 
     */
    @Test
    public void setValue() throws Exception{
        //
        Class.forName("com.mysql.jdbc.Driver");
        //
        Connection connection = DriverManager.getConnection("jdbc:mysql:///2019_9_9","root","root");
        //
        Statement cs = connection.createStatement();
        //
        cs.executeUpdate("UPDATE tabename2 SET name='C',age=3 WHERE id=3");
        //
        cs.close();
        connection.close();
    }
    
    
    
    /**
     * 通過ID查詢數據
     * @throws Exception 
     * 
     */
    @Test
    public void lookValue() throws Exception {
        //
        Class.forName("com.mysql.jdbc.Driver");
        //
        Connection connection = DriverManager.getConnection("jdbc:mysql:///2019_9_9","root","root");
        //
        Statement cs = connection.createStatement();
        //
        ResultSet e = cs.executeQuery("SELECT * FROM tabeName2 WHERE id=1");
        //要打印數據;判斷e.next()不能少。
        if(e.next()){
            System.out.println(e.getInt("id")+e.getString("name")+e.getInt("age"));
        }else{
            System.out.println("沒有");
        }
        //
        cs.close();
        connection.close();
        
    }

  /**
  *查詢所有數據
  *
  */
@Test
public void lookAllValue() throws Exception{ // Class.forName("com.mysql.jdbc.Driver"); // Connection connection = DriverManager.getConnection("jdbc:mysql:///2019_9_9","root","root"); // Statement cs = connection.createStatement(); // ResultSet executeQuery = cs.executeQuery("SELECT * FROM tabename2"); while (executeQuery.next()) { System.out.println(executeQuery.getInt("id")+"__"+executeQuery.getString("name")+"__"+executeQuery.getInt("age")); } // cs.close(); connection.close(); } }

雖然代碼臃腫,但我能理解

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM