/**
* 数据库密码加密,执行如下命令,生成加密密码
* java -cp druid-1.1.14.jar com.alibaba.druid.filter.config.ConfigTools 密码
* 输出:
* privateKey:MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEApEUdEC4QUd7ifzQ2wLdm+E2AN4Kdlze17nDVvwBeFeWmxJDFxOhjALZeG9up22tnEeki8W1jffacDtXoLenKBQIDAQABAk1Bxdnd7nIWTNyM0/4iuFj/eVBGyxdo5/7X/KxrIYeWaszSOLjezQ+AVxaRRdpAEUUuk1Ep+FEJFLl9YCdXTvpOlAiEA9H3aL4I+o3XkDYSblJE997FURhYJPjhrUwVkHc5JcysCIQCsAJUtCNb165jfgZRrHxZ1KXcI4EMIGVUsDn/VXrDfjwIgd9dop3j0MzOKQYYKrNw0v8DQSjpq9XC6SsuNs352SlkCIESBPuje2m671Pk/7NL1YMZtK2G3oDr7i/auF6/ttNh1AiBEH/eyxc3CAeYk9GF+y2Z6SNosw8DSIA0kQMbgSIBZxg==
* publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKRFHRAuEFHe4n80NsC3ZvhNgDeCnZc3te5w1b8AXhXlpsSQxcTo1YwC2XhvbqdtrZxHpIvFtY332nA7V6C3pygUCAwEAAQ==
* password:RV+gpoUP/tTDk9vytEKxfZfhPQenrG9aCJ5MNa1w1JR5d2Q9mJ5j4TyN9wQc1/7Y0/bsmZSl5BEX3vIxjMEDpxw==
*
* 配置如下
*/
String mysqlUrl = "jdbc:mysql://10.10.10.10:13306/test_db?useUnicode=true&useSSL=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull";
String mysqlUsername = "root";
String mysqlPassword = "RV+gpoUP/tTDk9vytEKxfZfhPQenrG9aCJ5MNaw1JR5d2Q9mJ15j4TyN9wQc1/7Y0/bsmZSl5BEX3vIxjMEDpxw==";
String mysqlPublicKey = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKRFHRAuEFHe4n80NsC3ZvhNgDe1CnZc3te5w1b8AXhXlpsSQxcToYwC2XhvbqdtrZxHpIvFtY332nA7V6C3pygUCAwEAAQ==";
String mysqlDriver = "com.mysql.cj.jdbc.Driver";
String mysqlFilters = "config";
DruidPlugin druidMysqlPlugin = new DruidPlugin(mysqlUrl, mysqlUsername, mysqlPassword,mysqlDriver,mysqlFilters);
druidMysqlPlugin.setPublicKey(mysqlPublicKey); //sql防注入
WallFilter wall = new WallFilter();
wall.setDbType("mysql");
druidMysqlPlugin.addFilter(wall); //最大连接池数量,默认为8
druidMysqlPlugin.setMaxActive(20);
//最小连接池数量
druidMysqlPlugin.setMinIdle(1);
//初始化时建立物理连接的个数,默认为0
druidMysqlPlugin.setInitialSize(1);
//获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
druidMysqlPlugin.setMaxWait(60000);
//如果连接空闲时间大于等于minEvictableIdleTimeMillis则关闭物理连接。
druidMysqlPlugin.setTimeBetweenEvictionRunsMillis(60000);
//连接保持空闲而不被驱逐的最小时间
druidMysqlPlugin.setMinEvictableIdleTimeMillis(300000); //建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
druidMysqlPlugin.setTestWhileIdle(true);
//申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。默认为true
druidMysqlPlugin.setTestOnBorrow(false);
//归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。默认为true
druidMysqlPlugin.setTestOnReturn(false); /*
//配置removeAbandoned对性能会有一些影响,建议怀疑存在泄漏之后再打开
//当程序存在缺陷时,申请的连接忘记关闭,这时候就存在连接泄漏了。Druid提供了RemoveAbandanded相关配置,用来关闭长时间不使用的连接
druidMysqlPlugin.setRemoveAbandoned(true);
//如果连接超过30分钟未关闭,就会被强行回收
druidMysqlPlugin.setRemoveAbandonedTimeoutMillis(1800);
//关闭abanded连接时输出错误日志
druidMysqlPlugin.setLogAbandoned(true);
*/ druidMysqlPlugin.start();
ActiveRecordPlugin mysqlArp = new ActiveRecordPlugin("mysql", druidMysqlPlugin);
//配置MySQL方言
mysqlArp.setDialect(new MysqlDialect());
//是否显示执行的SQL
//mysqlArp.setShowSql(true);
mysqlArp.start();

DruidDataSource配置

https://github.com/alibaba/druid/wiki/DruidDataSource配置

DruidDataSource配置属性列表

https://github.com/alibaba/druid/wiki/DruidDataSource配置属性列表

最新文章

  1. JS组件系列——不容错过的两款Bootstrap Icon图标选择组件
  2. POJ 题目1141 Brackets Sequence(区间DP记录路径)
  3. JavaScript学习笔记——DOM_对document对象的内容、属性、样式的操作
  4. XSS (Cross Site Scripting) Prevention Cheat Sheet(XSS防护检查单)
  5. 基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍
  6. 导入 from pdfminer.pdfinterp import process_pdf 错误
  7. Eclipse下使用Fat Jar插件对源代码进行打包
  8. yum局域网软件源搭建
  9. MariaDB数据解压版安装(10.0.16)
  10. MyBatis 基本数据类型条件判断问题
  11. (简单) POJ 2240 Arbitrage,SPFA。
  12. iOS开发讲解SDWebImage,你真的会用吗?
  13. 【Java编程】Java在dos窗口编译与执行的批处理
  14. 关于操作HDFS的一个问题
  15. 在windows中创建.gitignore文件
  16. tf.py_func
  17. Kruskal || BZOJ 1601: [Usaco2008 Oct]灌水 || Luogu P1550 [USACO08OCT]打井Watering Hole
  18. 安装bootcamp时提示“找不到$winpedriver$文件夹,请验证该文件夹是否和bootcamp处于同一文件夹内?”
  19. TCP/IP 笔记 - 防火墙和网络地址转换
  20. 2017-2018-2 20155309南皓芯 Exp6 信息搜集与漏洞扫描

热门文章

  1. 【LOJ#2402】[THUPC2017]天天爱射击(整体二分)
  2. MySQL学习基础知识2
  3. noi.ac89A 电梯
  4. 虚拟机中使用centos7搭建ftp服务器
  5. The 19th Zhejiang University Programming Contest - H
  6. Presto服务发现(Discovery Service)
  7. MySQL打包执行SQL
  8. JGUI源码:prefixfree 这个库有时候会引起网页一直加载中(10)
  9. Swift 4 关于Darwin这个Module
  10. 通过DeviceIoControl读磁盘的方式读取独占文件内容