首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    delphi 数据库连接池-c3p0,DBCP,Druid(德鲁伊)数据库连接池

    普通的 JDBC 数据库连接使用 来获取到连接的,每次向数据库请求建立连接的时候,都要将 加载到内存中,再验证用户名和密码(需要花费0.05s ~ 1s的时间 ) 。需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接,这样的方式,将会消耗大量的资源和时间。数据库的连接资源并没有得到一个很好的重复利用 ,如果同时有 几百人甚至 几千人 在线,频繁的进行数据库连接操作将占用很多的系统资源,严重的甚至会造成服务器的崩溃。本博客后面会作相应的演示,请大家继续往后看下去。对于每一次数据库连接,使用完后都得断开。否则,如果程序出现异常而未能关闭,将会导致数据库系统中的内存泄漏,最终将导致重启数据库。 何为Java的内存泄漏这种开发不能控制被创建的连接对象数,不能很好的管理连接的资源信息,系统资源会被毫无顾忌的分配出去,如连接过多,也可能导致内存泄漏,服务器崩溃。 1.2 JDBC 连接数据库

    02

    JDBC 进阶操作

    Blob(Binary Long Object)是二进制长对象的意思,Blob 列通常用于存储大文件,典型的 Blob 内容是一张图片或一个声音文件,由于它们的特殊性,必须使用特殊的方式来存储。使用 Blob 列可以把图片、声音等文件的二进制数据保存在数据库里,并可以从数据库里恢复指定文件。   如果需要将图片插入数据库,显然不能直接通过普通的 SOL 语句来完成,因为有一个关键的问题,Blob 常量无法表示。所以将 Blob 数据插入数据库需要使用 PreparedStatement,该对象有一个方法:setBinaryStream(int parameterlIndex,InputStream x),该方法可以为指定参数传入二进制输入流,从而可以实现将 Blob 数据保存到数据库的功能。   当需要从 ResultSet 里取出 Blob 数据时,可以调用 ResultSet 的 getBlob(int columnIndex) 方法,该方法将返回一个 Blob 对象,Blob 对象提供了getBinaryStream() 方法来获取该 Blob 数据的输入流,也可以使用 Blob 对象提供的 getBytes() 方法直接取出该 Blob 对象封装的二进制数据。

    03
    领券