• JFinal Druid 配置


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

  • 相关阅读:
    几种简单的素数判定法(转)
    在Ubuntu下编译WebKit源码
    Struts2+JSON特别让人恶心的一个问题
    强大的asp.net 绑定组件
    关于单点登陆的示例代码
    NHibernate 如何高效的数据翻页?
    FLEX学习网站大全
    pku1207
    windows7试用过程常见问题解答
    什么是HTTPS?
  • 原文地址:https://www.cnblogs.com/kgdxpr/p/10564283.html
Copyright © 2020-2023  润新知