druid常见问题(官⽹解答)
欢迎⼤家使⽤Druid,常见问题在这⾥解答,希望对⼤家有所帮助。
1. Druid是什么?
Druid是Java语⾔中最好的数据库连接池。Druid能够提供强⼤的监控和扩展功能。
2. 在哪⾥下载druid
正式版本下载:
maven中央仓库:
3. 怎么获取Druid的源码
4. 怎么配置maven
Druid 0.1.18之后版本都发布到maven中央仓库中,所以你只需要在项⽬的l中加上dependency就可以了。例如:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${druid-version}</version>
</dependency>
5. 怎么打开Druid的监控统计功能
6. 怎样使⽤Druid的内置监控页⾯
7. 内置监控中的Web和Spring关联监控怎么配置?
Web关联监控配置
Spring关联监控配置
8. 怎么配置防御SQL注⼊攻击
9. Druid有没有参考配置
10. 我想⽇志记录JDBC执⾏的SQL,如何配置
11. 我的程序可能产⽣连接泄漏了,有什么办法?
12. 在Druid中使⽤PSCache会有内存占⽤过⼤问题么?
13. 有没有和其他数据库连接池的对⽐?
各种数据库连接池对⽐
14. 从其他连接池迁移要注意什么?
不同连接池的参数参照对⽐:
DBCP迁移
15. Druid中有没有类似Jboss DataSource中的ExceptionSorter
16. Druid中的maxIdle为什么是没⽤的?
maxIdle是Druid为了⽅便DBCP⽤户迁移⽽增加的,maxIdle是⼀个混乱的概念。连接池只应该有max
PoolSize和minPoolSize,druid只保留了maxActive和minIdle,分别相当于maxPoolSize和minPoolSize。
17. 我的应⽤配置的是JNDI数据源,可以⽤DruidDataSource么?
18. 我的应⽤已使⽤DBCP,是代码中写死的,怎样更换为Druid?
可以的,Druid提供了⼀个中完全平滑迁移DBCP的办法。
1) 从 下载druid-wrapper-xxx.jar
2) 加⼊druid-xxx.jar
3) 从你的WEB-INF/lib/中删除dbcp-xxx.jar
4) 按需要加上配置,⽐如JVM启动参数加上-Ddruid.filters=stat,动态配置druid的filters
这种⽤法,使得可以在⼀些⾮⾃⼰开发的应⽤中使⽤Druid,例如在sonar中部署druid,sonar是⼀个使⽤jruby开发的web应⽤,写死了DBCP,只能够通过这种⽅法来更换。
19. 我想试⽤快照版本,怎么获取?
20. 有⼀些SQL执⾏很慢,我希望⽇志记录下来,怎么设置?
21. 我希望加密我的数据库密码怎么办?
22. 如何参与Druid的开发
23. Druid的发布周期是怎样?
Druid是⼀个活跃的项⽬,长期维护。每个⽉有⼀个发布窗⼝,除⾮遇到重⼤bug和⾮常紧急的需求,否则都是每个⽉最多发布⼀次。如果没有⾜够多的需求,发布窗⼝就不会被使⽤。
24. 如果DruidDataSource在init的时候失败了,不再使⽤,是否需要close
是的,如果DruidDataSource不再使⽤,必须调⽤close来释放资源,释放的资源包括关闭Create和Destory线程。
25. DruidDataSource⽀持哪些数据库?
理论上说,⽀持所有有jdbc驱动的数据库。实际测试过的有
数据库⽀持状态
mysql⽀持,⼤规模使⽤
oracle⽀持,⼤规模使⽤
sqlserver⽀持
postgres⽀持
db2⽀持
h2⽀持
derby⽀持
sqlite⽀持
sybase⽀持
26. Oracle下jdbc executeBatch时,更新⾏数计算不正确
使⽤jdbc的executeBatch ⽅法,如果数据库为oracle,则⽆论是否成功更新到数据,返回值都是-2,⽽不是真正被sql更新到的记录数,这是Oracle JDBC Driver的问题,Druid不作特殊处理。
27. Druid如何⾃动根据URL⾃动识别DriverClass的
Druid是根据url前缀来识别DriverClass的,这样使得配置更⽅便简洁。
前缀DriverCLass描述信息
jdbc:odps com.aliyun.odps.jdbc.OdpsDriver
jdbc:derby org.apache.derby.jdbc.EmbeddedDriver
jdbc:sql.jdbc.Driver
jdbc:oracle oracle.jdbc.driver.OracleDriver
jdbc:microsoft com.microsoft.jdbc.sqlserver.SQLServerDriver
jdbc:sybase:Tds com.sybase.jdbc2.jdbc.SybDriver
jdbc:jtds net.sourceforge.jtds.jdbc.Driver
jdbc:postgresql org.postgresql.Driver
jdbc:fake com.k.MockDriver
jdbc:mock com.k.MockDriver
jdbc:hsqldb org.hsqldb.jdbcDriver
jdbc:db2COM.ibm.db2.jdbc.app.DB2Driver DB2的JDBC Driver⼗分混乱,这个匹配不⼀定对jdbc:sqlite org.sqlite.JDBC
jdbc:ingres com.ingres.jdbc.IngresDriver
jdbc:h2org.h2.Driverdruid连接池配置详解
jdbc:koi.JDBCDriver
jdbc:cloudscape JDBCDriver
jdbc:informix-sqli com.informix.jdbc.IfxDriver
jdbc:timesten com.timesten.jdbc.TimesTenDriver
jdbc:as400com.ibm.as400.access.AS400JDBCDriver
jdbc:sapdb com.sap.dbtech.jdbc.DriverSapDB
jdbc:JSQLConnect com.jnetdirect.jsql.JSQLDriver
jdbc:watlanta.jturbo.driver.Driver
jdbc:firebirdsql org.firebirdsql.jdbc.FBDriver
jdbc:interbase interbase.interclient.Driver
jdbc:pointbase com.pointbase.jdbc.jdbcUniversalDriver
jdbc:edbc ca.edbc.jdbc.EdbcDriver
jdbc:mimer:multi1com.mimer.jdbc.Driver
28. 如何保存监控记录
29. 我想Log输出SQL执⾏的信息怎么办?
30. 如何配置Druid内置的log实现

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。