JDBC原理

作者: 程序员必修课 | 来源:发表于2018-01-18 16:25 被阅读0次

JDBC接口及数据库厂商实现

类型 类名
驱动管理 DriverManager
连接接口 Connection
DatabaseMetaData
语句对象接口 Statement
PreparedStatement
CallableStatement
结果集接口 ResultSet
ResultSetMetaData

工作原理

  • 加载驱动,建立连接:DriverManager
  • 创建语句对象:Statement
  • 执行SQL语句:一个字符串,通过Statement执行
  • 处理结果集:只有查询语句才有结果集
  • 关闭连接

Driver接口及驱动类加载

驱动类加载方式:
(Oracle)Class.forName("oracle.jdbc.driver.OracleDriver");
(MySQL)
Class.forName("com.mysql.jdbc.Driver");

Connection接口

//Oracle格式
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","openlab","open123");
//三个参数分别是url,用户名,密码
//jdbc:oracle:thin:@HOST:PORT:数据库实例名

//MySQL格式
Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/myDB?user=soft&password=soft1234&useSSL=false&useUnicod 
e=true&characterEncoding=8859_1"); 
//jdbc:mysql://HOST:PORT/数据库名

Statement接口

Statement stmt = conn.createStatement();
  • boolean flag = stmt.execute(sql);
  • ResultSet rs = stmt.executeQuery(sql);
  • int flag = stmt.executeUpdate(sql);

execute执行的语句通常是DDL语句。

executeQuery通常用于执行查询语句。

executeUpdate通常用于DML操作。返回值是影响的数据条数。

ResultSet接口

执行查询SQL语句后返回的结果集,由ResultSet接口接收。

常用处理方式:遍历/判断是否有结果

String sql = "select * from emp";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
    System.out.println(rs.getInt("empno") + "," + rs.getString("ename"));
  • 查询的一系列结果存放在ResultSet对象的一系列行中
  • ResultSet对象的最初位置在行首
  • ResultSet.next()方法用来在行间移动,一定要调用next确保有数据再获取字段的值
  • ResultSet.getXXX()方法用来取得字段的内容

相关文章

  • JDBC

    JDBC原理: JDBC: 抽取JDBC工具类 : JDBCUtils JDBC控制事务:

  • 分库分表之第三篇

    @TOC 3. Sharding-JDBC执行原理 3.1 基本概念 在了解Sharding-JDBC的执行原理前...

  • 0807课程总结

    JDBC连接数据库原理:1.加载JDBC驱动程序:Class.forName("com.mysql.jdbc.Dr...

  • JDBC原理

    JDBC:Java database connectivity不同数据库厂商,会提供不同的架包,实现jdbc的一套...

  • JDBC原理

    JDBC接口及数据库厂商实现 工作原理 加载驱动,建立连接:DriverManager 创建语句对象:Statem...

  • 数据库(三)2018-08-26

    1. JDBC的简介 什么是驱动?就是设备间进行通信的桥梁. JDBC的原理是什么:我们知道JDBC是用来操作不同...

  • Mybatis----(1)

    主要内容1、对原生态jdbc程序(单独使用jdbc开发)问题总结2、mybatis框架原理3、mybatis入门程...

  • java 数据库

    @[TOC](Java 数据库) JDBC 原理 Java Data Base Connectivity java...

  • mybatis

    实现原理 JDK动态代理,jdbc 启动流程 读取mybatis-config.xmlSqlSessionFact...

  • Hive 系列 - 架构和基本概念

    1. 架构原理 2用户接口:ClientCLI(hive shell)、JDBC/ODBC(java访问hive)...

网友评论

    本文标题:JDBC原理

    本文链接:https://www.haomeiwen.com/subject/ijuwoxtx.html