JDBC的基本使用流程:

  • 1 导入jar包:
    • oracle安装路径\app\oracle\product\11.2.0\server\jdbc\lib
    • 导入ojdbc6.jar,在项目上右键 builder path–>add to builder path.
  • 2 加载驱动
    • Class.forName(“oracle.jdbc.driver.OracleDriver”);
    • 作用:初始化加载jdbc类到java虚拟机.
    • 注意:ojdbc6.jar使用此包该句可以省略不写.
  • 3 获取数据库连接对象
    • Connection conn =DriverMananger.getConnection(“url”,”username”,”password”);
    • 参数含义:
      • url:表示要连接的数据地址
      • username:数据库的用户名
      • password:数据库的密码
    • 作用:
      • 连接到指定的数据库并返回连接对象.
  • 4 创建sql命令对象
    • Statement stmt=conn.createStatement();
    • 作用:
      • 编译,发送SQL命令
  • 5 创建sql命令
    • String sql=”insert into dept values(92,’’,’’)”;
  • 6 执行sql命令:
    • 新增sql命令:
      • int i=stmt.executeUpdate(sql);(适用增删改))
    • 返回值:
      • 返回值如果小于0,表示未执行成功
      • 返回值如果大于0,表示成功修改的数据量.
  • 7 关闭资源
    • stmt.close();
    • conn.close();
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      public class TestInsert2 {
      public static void main(String[] args) {
      //声明jdbc变量
      Connection conn = null;
      Statement stmt = null;
      //声明jdbc参数
      String driver = "oracle.jdbc.driver.OracleDriver";
      String url = "jdbc:oracle:thin:@localhost:1521:XE";
      String username = "scott";
      String password = "tiger";
      //1.加载驱动类
      try {
      Class.forName(driver);

      //2.获取数据库连接对象
      conn = DriverManager.getConnection(url, username, password);//XE代表oracle数据库名
      //3.创建sql命令对象
      stmt = conn.createStatement();
      //4.创建sql命令
      String sql = "insert into dept values(92,'吃鸡学院','北京')";
      //5.执行sql命令
      int i = stmt.executeUpdate(sql);//没有执行成功,返回-1.执行成功,返回数等于多少改变多少数据
      System.out.println("执行结果:"+i);

      } catch (ClassNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }finally {
      //6.关闭资源
      try {
      stmt.close();
      } catch (SQLException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
      }
      try {
      conn.close();
      } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }
      }

      }
      }

常见的jdbc错误:

  • ClassNotFoundException:驱动类未找到.
  • java.sql.SQLException: No suitable driver found for :thin:@localhost:1521:orcl:URL错误
  • java.sql.SQLException: ORA-01017: invalid username/password; logon denied:用户名或密码错误
  • java.sql.SQLSyntaxErrorException: ORA-00900: 无效 SQL 语句:Sql语句错误
  • java.sql.SQLIntegrityConstraintViolationException: ORA-00001: 违反唯一约束条件 (SCOTT.PK_DEPT)主键冲突