• java面试题之JDBC篇


    1,什么是JDBC?JDBC访问数据库的基本步骤是什么?

      JDBC(Java Database Connectivity)是sun公司提供的一种数据库访问规则。Java程序只需要使用JDBC即可驱动数据库。

      步骤:

        首先要引入JDBC驱动包:  

        

        然后再进行以下步骤

        

    2,说说preparedStatement和Statement的区别

      prepareStatement是Statement的实现类

      

      prepareStatement会先对sql语句进行预处理后再创建prepareStatement对象,大大缩减了访问数据库的速度

      而statement是先创建对象在执行sql语句

      prepareStatement在执行sql语句时,将传入?中的语句整个看为字符串,没有关键字的约束

      Statement在执行sql语句时,会受到关键字的影响,导致安全问题

    3,说说事务的概念,在JDBC编程中处理事务的步骤。

      事务(Transaction):指的是一组操作,里面包含很多单一的逻辑,只要有一个逻辑没有执行成功,那么就算失败,所有数据都回到最初的状态(回滚)。

      事务开始时:connection.setAutoCommit(false); 

      出现异常时回滚事务:connection.rollback(); 

      提交事务:connection.commit(); 

      最后可以将自动提交设置为true:connection.setAutoCommit(true);

    4,数据库连接池的原理。为什么要使用连接池。

      原理:在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。

      

      在连接数据库时,一个个创建连接对象比较消耗性能并且效率较慢;连接数据库连接池后直接从池中拿连接对象,使用完后再归还,保证连接对象能循环利用。

    5,JDBC的脏读是什么?哪种数据库隔离级别能防止脏读?

      脏读是一个事务读到了另一个事务未提交的数据

      读已提交可防止脏读

    6,什么是幻读,哪种隔离级别可以防止幻读?

      幻读是一个事务读到了另一个事务插入的一行新数据,造成前后查询结果不一致

      可串行化可防止幻读

    7,JDBC的DriverManager是用来做什么的?

      DriverManager是一个用于管理数据库驱动的类。

      它有几个静态方法:

        registerDriver:用于注册数据库驱动;

        getConnection:建立与数据库的连接

        

    8,execute,executeQuery,executeUpdate的区别是什么?

      execute: 可用于执行任何SQL语句,返回一个boolean值,表明执行该SQL语句是否返回了ResultSet。但它执行sql语句比较麻烦,一般不用。

      executeQuery:这个方法一般用于执行Select语句,会返回一个ResultSet结果集

      executeUpdate:这个方法可执行Update、Insert、Delete语句,返回值是一个整数(int),返回受影响的行数

    9,JDBC的ResultSet是什么? 

      ResultSet集合的主要功能使用来存储查询语句返回的结果集,是Statement和ParpareStatemen创建的

  • 相关阅读:
    HTML th nowrap 属性
    C 语言实例 – 判断闰年
    Java MySQL 连接
    Linux shapecfg命令
    C 简介
    Java 之 HashSet 集合
    Java 之 Set 接口
    Java 之 LinkedList 集合
    Java 之 List 接口
    JavaScript 之 事件(详解)
  • 原文地址:https://www.cnblogs.com/javaisbest/p/12670548.html
Copyright © 2020-2023  润新知