jdbc

代碼塊
```package com.foreknow.jdbcdemo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

/**
 * JDBC:連接數(shù)據(jù)庫的一種技術(shù) /持久層(DAO)的技術(shù)
 * JDBC的API文件:java.sql包
 * JDBC訪問數(shù)據(jù)庫的步驟
 * 1.加載驅(qū)動程序  每個數(shù)據(jù)庫廠商都會給我們提供它自己的驅(qū)動程序   Class.forName("驅(qū)動程序的名稱")
 * 2.獲取連接(Connection接口)
 * 3.我們會通過連接(Connection接口)中提供好的方法創(chuàng)建一個對象 Statement(接口),用于將SQL語句發(fā)送給數(shù)據(jù)庫
 * ResultSet executeQuery(String sql) 
 * 執(zhí)行給定的 SQL 語句,該語句返回單個 ResultSet (結(jié)果集)對象(用于保存查詢的結(jié)果)。 
 *  int executeUpdate(String sql) 
     執(zhí)行給定 SQL 語句,該語句可能為 INSERT、UPDATE 或 DELETE 語句,或者不返回任何內(nèi)容的 SQL 語句(如 SQL DDL 語句)。
     (1) 對于 SQL 數(shù)據(jù)操作語言 (DML) 語句,返回行計數(shù)   delete insert update 成功返回值就是1
     (2) 對于什么都不返回的 SQL 語句,返回 0 
 * 4.釋放資源(關(guān)閉資源)
 * Statement   close()          Connection  close()
 * @author ttc
 *
 */
public class TestJdbc {
    Connection conn;
    Statement statement;
    ResultSet rs;
    //連數(shù)據(jù)庫的方法
    public Connection Link() throws ClassNotFoundException, SQLException{
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysqldemo?useUnicode=true&characterEncoding=utf8&useSSL=true", "root", "123456");
           return conn;
    }
    //查詢方法
    public ResultSet find(String sql) throws SQLException{
         statement=conn.createStatement();
        rs=statement.executeQuery(sql);
        return rs;
    }
    //DML的方法
    public int Update(String sql) throws SQLException{
        statement=conn.createStatement();
        int isRight=statement.executeUpdate(sql);
        return isRight;
    }
    //關(guān)閉資源
    public void closed() throws SQLException{
        if (rs!=null) {
            rs.close();
        }
        if(conn!=null){
        conn.close();
        }
    }
    public static void main(String[] args) {    
        try {
            //1.加載驅(qū)動  https://mvnrepository.com
            Class.forName("com.mysql.jdbc.Driver");
            //2.獲取連接(Connection接口)
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysqldemo?useUnicode=true&characterEncoding=utf8&useSSL=true", "root", "123456");
            //jdbc中默認的食物提交方式為自動提交(不用自己commit)
            //為TRUE表示自動提交模式;為FALSE表示禁用自動提交模式
            conn.setAutoCommit(false);
            //3.獲取Statement對象(接口)
            Statement statement=conn.createStatement();
            int isRight=statement.executeUpdate("insert into dept values(50,'aaa','bbb')");
            //提交事物(如果不提交事物,數(shù)據(jù)庫中不會更新)
            conn.commit();
            System.out.println(isRight);
//          ResultSet rs=statement.executeQuery("select * from emp");
//          //4.如何讓獲取到結(jié)果集中的數(shù)據(jù)
//          //boolean next()將光標從當前位置線下移
//          List<Emp> list=new ArrayList<>();
//          while (rs.next()) {
//              //獲取當前行的每一列的數(shù)據(jù)
//              int empno=rs.getInt("empno");
//              String ename=rs.getString("ename");
//              String mgr=rs.getString("mgr");
//              System.out.println(empno+"---"+ename+"---"+mgr);
//              //見獲取到的數(shù)據(jù)以EMP對象的方式保存到LIST集合里
//              Emp emp=new Emp();
//              emp.setEmptno(empno);
//              emp.setEname(ename);
//              emp.setMgr(mgr);
//              list.add(emp);
//          }
//          for (Emp emp : list) {
//              System.out.println(emp.getEmptno()+"  "+emp.getEname()+" "+emp.getMgr());
//          }
            //5.關(guān)閉資源
//          rs.close();
            statement.close();
            conn.close();
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    

}


Test代碼塊


import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        TestJdbc t=new TestJdbc();
            try {
                t.Link();
//              ResultSet rs=t.find("select * from emp");
//              List<Emp> list=new ArrayList<>();
//              while (rs.next()) {
//                  //獲取當前行的每一列的數(shù)據(jù)
//                  int empno=rs.getInt("empno");
//                  String ename=rs.getString("ename");
//                  String mgr=rs.getString("mgr");
//                  System.out.println(empno+"---"+ename+"---"+mgr);
//                  //見獲取到的數(shù)據(jù)以EMP對象的方式保存到LIST集合里
//                  Emp emp=new Emp();
//                  emp.setEmptno(empno);
//                  emp.setEname(ename);
//                  emp.setMgr(mgr);
//                  list.add(emp);
//              }
//              for (Emp emp : list) {
//                  System.out.println(emp.getEmptno()+"  "+emp.getEname()+" "+emp.getMgr());
//              }
                
             int is=t.Update("insert into dept values(57,'aaa','bbb')");
             System.out.println(is);
             t.closed();
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        
    }

}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容