1. 数据连接池的工作机制是什么? 有什么优点?
- J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。
- 客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。
- 如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。
- 当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
- 当链接数量达到连接池最大值时候,池驱动程序将不再创建新连接,只能等等连接空闲以后重用已有的连接。
- 优点:连接少的时候可以复用
2. 写出JDBC连接数据库的6个步骤?
- 注册驱动
- 获取连接
- 创建一个Statement语句对象
- 执行SQL语句
- 处理结果集
- 关闭资源
3. JDBC中的Statement 和PreparedStatement的区别?
- PreparedStatement 继承于 Statement
- Statement 一般用于执行固定的没有参数的SQL
- PreparedStatement 一般用于执行有?参数预编译的SQL语句。
- PreparedStatement支持?操作参数,相对于Statement更加灵活。
- PreparedStatement可以防止SQL注入,安全性高于Statement。
4. JDBC中大数据量的分页解决方法?
利用sql语句进行分页,这样每次查询出的结果集中就只包含某页的数据内容
5. 说说数据库连接池工作原理和实现方案?
- 工作原理:JAVA EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
- 实现方案:返回的Connection是原始Connection的代理,代理Connection的close方法,当调用close方法时,不是真正关连接,而是把它代理的Connection对象放回到连接池中,等待下一次重复利用。