/**
* 数据库密码加密,执行如下命令,生成加密密码
* 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配置属性列表

JFinal Druid 配置的更多相关文章

  1. druid配置数据库连接使用密文密码

    spring使用druid配置dataSource片段代码 dataSource配置 <!-- 基于Druid数据库链接池的数据源配置 --> <bean id="data ...

  2. JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源

    com.alibaba.druid.pool.DruidDataSourceFactory实现了javax.naming.spi.ObjectFactory,可以作为JNDI数据源来配置. 一.下载D ...

  3. Tomcat下使用Druid配置JNDI数据源

    com.alibaba.druid.pool.DruidDataSourceFactory实现了javax.naming.spi.ObjectFactory,可以作为JNDI数据源来配置. 一.下载D ...

  4. Druid 配置及内置监控,Web页面查看监控内容 【我改】

    转: Druid 配置及内置监控,Web页面查看监控内容 1.配置Druid的内置监控 首先在Maven项目的pom.xml中引入包 1 2 3 4 5 <dependency>      ...

  5. SpringBoot入门之基于Druid配置Mybatis多数据源

    上一篇了解了Druid进行配置连接池的监控和慢sql处理,这篇了解下使用基于基于Druid配置Mybatis多数据源.SpringBoot默认配置数据库连接信息时只需设置url等属性信息就可以了,Sp ...

  6. 数据库连接池----Druid配置详解

    什么是连接池? 数据库连接池出现的原因在数据库连接资源的低效管理,使用数据库连接池是基于设计模式中的资源池的概念,从而解决资源频繁是分配.释放所造成的问题. 数据库连接池的基本思想就是为数据库连接建立 ...

  7. SpringBoot17 FastJson配置、Druid配置

    1 FastJson配置 1.1 FastJson基础知识 点击前往 1.2 SpringBoot整合FastJson 点击前往 1.2.1 导入FastJson依赖 <!--fastjson- ...

  8. JNDI学习总结(4)——Tomcat下使用Druid配置JNDI数据源

    com.alibaba.druid.pool.DruidDataSourceFactory实现了javax.naming.spi.ObjectFactory,可以作为JNDI数据源来配置. 一.下载D ...

  9. SpringBoot系列之集成Druid配置数据源监控

    SpringBoot系列之集成Druid配置数据源监控 继上一篇博客SpringBoot系列之JDBC数据访问之后,本博客再介绍数据库连接池框架Druid的使用 实验环境准备: Maven Intel ...

随机推荐

  1. 通过10046 event来获取真实的执行计划

    获取SQL执行计划的方式有很多,但是某些时候获取的SQL执行计划并不是准确的,只有在SQL真实执行之后获取到的SQL PLAN才是真实准确的,其他方式(如,explain plan)获取到的执行计划都 ...

  2. IDictionary使用/声明

    因为不常用,老师忘记怎么申明..这次记下来,哪天用了又忘了就来翻翻 主要代码 IDictionary<string, string> openWith = new Dictionary&l ...

  3. 【CTSC2016】时空旅行

    链接 http://uoj.ac/problem/198 题解 首先要发现答案要我们求这个式子: \[ ans=min\bigl((x_i-x)^2+c_i\bigr) \] 显而易见的是这种时空嫁接 ...

  4. 互联网+ 何人能挡?带着你的Code飞奔吧!

    Python方向: 早期方向 Web全栈 擅长专栏 爬虫系列 数据分析 人工智能 物联网系(lot万物互联)[逆天很看好未来的前景] 自动化运维(安全与测试) 其他系列 游戏开发(最近很火) 导航栏: ...

  5. 函数内部还是不要使用 strtok()

    今天在调试程序的时候,遇到一个奇怪的事情,一开始担心是代码存在内存溢出引起的,花了半个小时没找到原因. 在吃饭的时候,突然想起可能是 strtok() 引起的,查找调用的函数,果然发现在函数中使用了  ...

  6. Vue学习笔记五:事件修饰符

    目录 什么是事件修饰符 没有事件修饰符的问题 HTML 运行 使用事件修饰符 .stop阻止冒泡 .prevent 阻止默认事件 .capture 添加事件侦听器时使用事件捕获模式 .self 只当事 ...

  7. Tomcat系列(6)——Tomcat处理一个HTTP请求的过程

    Tomcat的架构图   图三:Tomcat Server处理一个HTTP请求的过程 处理HTTP请求过程 假设来自客户的请求为:http://localhost:8080/test/index.js ...

  8. Window7 定制 Explore中的右键菜单

    win+R 命令  运行 regedit ,打开注册表 在  HKEY_CLASSES_ROOT\*\shell\VisualCode下创建针对文件的新增命令 command 在HKEY_CLASSE ...

  9. EffectiveC++笔记 目录

    Charpter 1. 让自己习惯C++   条款01: 视C++为一个语言联邦 条款02: 尽量以const,enum,inline替换#define 条款03: 尽可能使用const 条款04: ...

  10. h5页面使用js实现保存当前图片到手机相册

    很可惜,这个鬼东西微信内置浏览器不适用 页面: <!doctype html> <html> <head> <meta charset="UTF-8 ...