JavaWeb面试题之JDBC

作者: 空城空忆亦空心 | 来源:发表于2018-08-27 20:33 被阅读18次

<说明:题目内容收集于网络,答案是参考别人解答以及自己的理解,纯手敲。如果有疑问或者错误,可以直接指出哟,有时间持续更新,也非常欢迎投稿>

1.什么是JDBC

  JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。

2.原生jdbc操作数据库流程

  • 1.加载数据库连接驱动
      Class.forName(...);
  • 2.获取数据连接对象
      Connection conn = DriverManger.getConnection(...);
  • 3.3.获取传输器(语句对象)
      会话对象有两种Statement和PreparedStatement
        Statement st = conn.createStatement();
        PreparedStatement ps = conn.prepareStatement(...)
  • 4.执行语句
      如果是Statement对象
        ResultSet rs = st.executeQuery(...); 或者 int i = st.executeUpdate();
      如果是PreparedStatement对象,需要先设置参数
        int i = ps.executeUpdate(); 或者 ResultSet resultSet = ps.executeQuery();
  • 5.处理结果集
      根据执行语句后返回的结果来处理结果集,一般DML操作不需要处理结果集,DQL才需要,通过ResultSet对象的API操作
      while (rs.next()){ ... }
  • 6.关闭资源
      rs.close()、st.close()、conn.close() 注意关闭顺序以及处理异常

3.JDBC中的Statement 和PreparedStatement的区别?

  • PreparedStatement在执行之前会进行预编译,效率高于Statement
  • PreparedStatement支持?占位符,使得程序可读性大大提高
  • PreparedStatement能够有效防止SQL注入

4.数据库连接池工作原理

  在服务器启动的时候会先创建一定数量的连接对象存放在连接池中,当一个线程需要使用连接对象的时候,从连接池中请求一个空闲的连接,使用完毕之后,并不会把连接关闭,而是还给连接池,在系统关闭的时候,会断开所有连接并且释放连接占用的资源

5.使用连接池的优势

  • 系统响应速度加快
     没有使用连接池之前,在请求数量多的情况下,大量的创建和销毁连接对象,耗费大量的时间,使用连接池之后,不用频繁的创建连接池对象,节约可了大量的时间
  • 资源利用率高
     使用连接池之后,在线程使用完连接对象之后并不会关闭连接对象,而是把连接对象还给连接池供下一次使用,大大提高资源利用率

相关文章

  • JavaWeb学习笔记之Jdbc(二)

    title: JavaWeb学习笔记之Jdbc(二)tags: JavaWeb Jdbccategories: J...

  • JavaWeb学习笔记之Jdbc(一)

    title: JavaWeb学习笔记之Jdbc(一)tags: JavaWeb Jdbccategories: J...

  • JavaWeb面试题之JDBC

    <说明:题目内容收集于网络,答案是参考别人解答以及自己的理解,纯手敲。如果有疑问或者错误,可以直接指出哟,有时间持...

  • JavaWeb之 JDBC

    简单案例 详解各个对象 DriverManager:驱动管理对象 功能 注册驱动:告诉程序该使用哪一个数据库驱动j...

  • JavaWeb之JDBC(复习)

    十二、JDBC(复习) 目录:JDBC、事务 1.JDBC 什么是JDBC:Java连接数据库。 : ①java....

  • JavaWeb——JDBC

    1.概念: Java DataBase Connectivity Java 数据库连接,Java 语言操作数据...

  • JavaWeb - JDBC

    JDBC 什么是JDBC,Java链接数据库 需要jar包的支持: java.sql javax.sql mysq...

  • 【020】JavaWeb面试题(一):JDBC

    开篇介绍 大家好,我是Java最全面试题库的提裤姐,今天这篇是JavaWeb系列的第一篇,主要总结了Java中的J...

  • JavaWeb之MySql与JDBC

    JDBC(JAVA DataBase connectivity)-java数据库连接 为什么会出现JDBC SUN...

  • 【028期】JavaWeb面试题总结

    开篇介绍 大家好,我是Java最全面试题库的提裤姐,今天这篇是JavaWeb面试题总结篇,主要总结了JavaWeb...

网友评论

    本文标题:JavaWeb面试题之JDBC

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