zoukankan      html  css  js  c++  java
  • JDBC原理

    • JDBC的简介

    Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

    1. jdbc是用Java来操作数据库
    2. jdbc 的维护是由sun公司 ==>主要是提供一些连接数据库的类或者接口(规范),还提供了连接数据库的协议

    - Jdbc的开发原理

    jdbc是有sun公司提供了一些接口(一种规范),主要用于来对接数据库厂商,数据 库厂商根据提供了一些规范 来给用户提供使用(提供一套能够访问到自己服务器的一套代码)驱动来操作数据库

    在这里插入图片描述

    - jdbc的开发流程

    1. 通过反射来加载驱动包得到Driver对象
    2. 使用DervieManger 来获取连接对象
    3. 得到执行sql的对象
    4. 得到返回结果
    5. 关闭资源

    -jdbc的操作步骤

    1. 新建一个文件 这文件 lib 用于存放jar包
      在这里插入图片描述
    2. 下载驱动包 :下载的地址:https://dev.mysql.com/downloads/connector/j/5.1.html

    在这里插入图片描述

    1. 添加项目依赖
      在这里插入图片描述
      在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    -总结

    1.jdbc 主要是使用Java来操作数据库 其实连接数据库的桥梁(中介)

    2.jdbc的使用步骤【面试题】:

    1.加载(驱动)数据库驱动到JVM【利用反射Class.forname】
    2.建立获取数据库连接【DriverManager.getConnection】
    3.通过DriverManager 来获取操作数据库对象Statement
    4. 定义操作的sql语句
    5.执行数据库操作
    6.获取操作的结果集 resultset

    7.关闭对象,回收数据库资源【关闭结果集--关闭数据库--关闭连接】


    注:关闭资源 从下往上关闭

    3. preparedSatement 优点【面试题】 :

    1.预编译减少sql的编译错误,增加sql的安全性
    2.防止sql注入 安全性更高 效率更高
    3.由于其预编译可以将优化后的SQL缓存起来,下次执行相同的结构的语句快
    4.preparedSatement 注意点 : 

    • 使用?占位符来替换需要拼接的值
    • 占位符的索引是从1开始
    • setInt(“索引”,”具体需要替换的值”);
    • setObject(“索引”,”具体需要替换的值”)

    4. 使用JDBC操作数据库时,如何提升读取数据的性能?

        如何提升更新数据的性能?【面试题】

    1.通过结果集对象的setFetchSize()方法指定每次抓取的记录数

    2.使用PreparedStatement语句构建批处理,将若干SQL语句置于一个批处理中执行




    5. junit 测试

      1. 其实就是定义一个方法来替代main来直接运行
      2. 方法定义的注意事项: 需要使用public 来修饰
      3. 不能有返回值
      4. 不能传递参数
      5. 加上注解 @Test
      6. 封装 :
        1. 配置资源文件只需要加载一次 使用静态代码块
        2. 工具类的对象只需要实例化一次 单例设置模式
          1.私有的属性
          2.私有构造
          3.提供一个公有的方法返回这个对象
        3. BaseDao
          1.获取连接对象
          2.增删改(sql,数组,返回值是int)
          3.查询(sql,数组,返回值是是一个结果集)
          4.关闭资源的方法
  • 相关阅读:
    python3.x元组打印错误 TypeError: unsupported operand type(s) for %: 'NoneType' and 'tuple'
    LoRa---她的简介和她的专业术语
    单片机程序在内存和FLASH中的空间分配
    STM32烧录的常用方式
    【原创】MapReduce编程系列之表连接
    Maven基础配置—本地Maven配置
    Maven基础配置--nexus私服配置
    OSGI入门笔记
    Maven仓库搭建--nexus私服
    javascript基础 方法 函数 闭包 集合
  • 原文地址:https://www.cnblogs.com/nastu/p/13815854.html
Copyright © 2011-2022 走看看