• JDBC学习一


    JDBC概述:

    数据的持久化:

    • 持久化:将内存中的数据保存到可永久保存的存储设备中

    • 持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件、XML数据文件中。

    什么是JDBC

    • JDBCjava数据库连接

    • 是JavaEE平台下的技术规范

    • 定义了在Java语言中连接数据库,执行SQL语句的API

    • 可以为多种关系数据库提供访问

    什么是驱动数据库程序

    • 数据库驱动就是一个操作数据库的一个程序

    • 不同数据产品的数据库驱动名字有差异

    • 在程序中需要依赖数据库驱动来完成数据库的操作

    Java中访问数据库技术

    • 基于JDBC标准访问数据库

    • 使用第三方ORM框架,如Hibernate,Mybatis等访问数据库

    JDBC中常用的类和接口

    Driver接口

    Driver接口用来定义数据库驱动对象应该具备的一些能力。比如数据库连接的方法定义,该接口是提供给数据库厂商使用的,所有支持Java语言连接的数据都实现了该接口,该接口是我们称为的数据库驱动类。

    DriverManager

    DriverManager是驱动程序管理器,是负责管理数据库驱动程序的。驱动注册后,会保存在DriverManager中的已注册列表中的。DriverManager通过实例化的数据库驱动对象,能够建立应用程序和数据库之间的连接。并返回Connection接口类型的数据库连接对象。

    • getConnection(String jdbcURL,String user,String password)

      该方法通过访问数据库的URL,用户密码,返回对应的Connection对象

    • JDBC U RL

      与数据库连接时,用来连接到指定数据库的标识符。在URL中包括了该数据库的类型,地址,端口、库名称等信息。不同的数据库连接的URL不同。

    • 连接Mysql数据库:

      Connection conn =DriverManager.getConnection("jdbc:mysql://host:port/database","user","password");

    Connection接口

    Connection是数据库的连接对象。对数据库的一切操作都是建立在这个连接的基础之上进行的,我们可以通过高对象执行sql语句并返回结果

    常用的方法

    • createStatement()

      创建向数据库发送sql的Statement接口类型的对象。

    • preparedStatement(sql)

      创建向数据库发送预编译sql的PreparedStatement接口类型的对象。

    • setAutoCommit(boolean autoCommit)

      设置事务是否自动提交。

    • commit()在连接上提交事务

    • rollBack()在此链接上回滚事务。

    Statement接口

    用于执行静态SQL语句并返回它所生产的对象。由createStatement创建,用于发送简单的SQL语句。

    常用的方法

    • excute(String sql)

      执行参数中的sql,返回是否有结果集

    • excuteQuery(String sql)

      运行select语句,返回ResultSet结果集。

    • excuteUpdate(String sql)

      运行insert/update/delete操作,返回更新的行数。

    • addBach(String sql)

      把多条sql语句放在一个批处理中

    • executeBatch向数据库发送一批sql语句执行

    PreparedStatement接口

    继承自Statement接口,由preparedStatement创建,用于发送含有一个或者多个参数的sql语句。PreparedStatement对象比Statement对象的效率更加高,由于实现动态的参数绑定,所以可以防止SQL注入,所以一般我们都使用PreparedStatement。

    常用的方法

    • addBatch()

    • 把当前 sql 语句加入到一个批处理中。

    • execute()

    • 执行当前 SQL,返回个 boolean 值

    • executeUpdate()

    • 运行 insert/update/delete 操作,返回更新的行数。

    • executeQuery()

    • 执行当前的查询,返回一个结果集对象

    • setDate(int parameterIndex, Date x)

    • 向当前SQL语句中的指定位置绑定一个java.sql.Date值

    • setDouble(int parameterIndex, double x)

    • 向当前 SQL 语句中的指定位置绑定一个 double值

    • setFloat(int parameterIndex, float x)

    • 向当前 SQL 语句中的指定位置绑定一个 float 值

    • setInt(int parameterIndex, int x)

    • 向当前 SQL 语句中的指定位置绑定一个 int 值

    • setString(int parameterIndex, String x)

    • 向当前 SQL 语句中的指定位置绑定一个 String 值

    ResultSet 接口

    ResultSet 用来暂时存放数据库查询操作获得结果集。

    • 常用方法

    • getString(int index)、getString(String columnName)

    • 获得在数据库里是 varchar、char 等类型的数据对象。

    • getFloat(int index)、getFloat(String columnName)

    • 获得在数据库里是 Float 类型的数据对象。

    • getDate(int index)、getDate(String columnName)

    • 获得在数据库里是 Date 类型的数据。

    • getBoolean(int index)、getBoolean(String columnName)

    • 获得在数据库里是 Boolean 类型的数据。

    • getObject(int index)、getObject(String columnName)

    • 获取在数据库里任意类型的数据。

  • 相关阅读:
    Vue3 readonly 和 shallowReadonly
    基于Mybatis-Plus扩展批量插入或更新InsertOrUpdateBath
    B+树索引(7)之索引适用场景(上)
    【苹果家庭推送iMessage】软件安装UITableViewController
    vrrp协议与keepalived浅析
    【Linux】FTP安装部署及配置用户
    51、基于注解方式开发Spring WebFlux,实现生成背压数据,就是实现一直向客户端发送消息
    若依前后端分离版入门
    Python的推导式与三目运算符
    高级程序员项目经理写好代码必备的三条基本素质;以及代码的现象和本质问题解读;
  • 原文地址:https://blog.csdn.net/weixin_61050264/article/details/126594998