面试题:18(完成)

1.JDBC 操作的步骤;

  1. 第一步:注册驱动(告诉Java程序,即将要连接那个品牌的数据库)
  2. 第二步:获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完后一定要关闭)
  3. 第三步:获取数据库操作对象(专门执行sql语句的对象)
  4. 第四步:执行SQL语句(DQL DML …)
  5. 第五步:释放资源(使用完资源后一定要关闭资源。Java和数据库属于进程间通信,开启后一定要关闭)

image.png


二 在使用JDBC的时候,如何防止出现sql注入的问题;

  1. 使用 “PerparedStatement” 类, “PerparedStatement” 是 “Statement” 的子类;
  2. 通过字符串转义防止sql注入问题,因为 “Statement” 使用的是字符串拼接方式输入,存在sql注入问题;
  3. 不过 “PerparedStatement” 需要使用?字符来替换数据,替换数据使用的是 “set+数据类型方法” ;

    ⭐扩展

    “PerparedStatement” 是预编译(提前编译好)的语句,可以提高程序的性能与安全性,一般使用性上: “PerparedStatement” 优先与 “Statement” ;


三 是否了解连接池,使用连接池有什么好处;

  • 连接池就是一个容器,连接池中保存一些数据库连接,这些连接是可以重复使用的,降低资源的消耗,提高程序的性能;

    ⭐扩展

    1. 连接池开始运行后,会在连接池里面初始化一些连接对象;
    2. 当程序需要运行时,会从连接池里面取出连接对象;
    3. 当程序运行完成时,会将连接对象放回连接池中;

四 你所了解的数据源技术有哪些?使用数据源有什么优点;

  • 常见的数据源技术有 (除一下三种数据源还有其他数据源)
    1. 阿里巴巴平台-德鲁伊Druid”(现使用的)
    2. “C3P0”
    3. DBCP”

⭐优点

不需要在源码中更改维护数据,通过配置文件的形式来维护数据信息,可以在配置文件中设置固定的连接对象,最大连接对象以及等待时间,减少维护的繁琐操作;