druid连接池的使用

最好用的jdbc连接池莫过于druid

druid第一种连接方式:


DruidDataSource dds = new DruidDataSource();
    
        try {
            dds.setUrl("jdbc:mysql://localhost:3306/");
            dds.setUsername("root");
            dds.setPassword("admin");
            dds.setDriverClassName("com.mysql.cj.jdbc.Driver");
            System.out.println(dds.getConnection());
        } catch (SQLException e) {
            e.printStackTrace();
        }

第二种连接方式:使用配置文件

DruidDataSource dds = new DruidDataSource();
        Properties p = new Properties();
        //加载提前写好的配置文件
        InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties");
        try {
            p.load(is);
            //druid加载文件内容
            dds.setConnectProperties(p);
            System.out.println(dds.getConnection());
        } catch (IOException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

配置文件内容:

#必须按这个配置名填写druid.
druid.url=jdbc:mysql://localhost:3306/db1
druid.username=root
druid.password=admin
druid.driverClassName=com.mysql.cj.jdbc.Driver
#初始化创建连接数
druid.initialSize=2
#最大连接数
druid.maxActive=8
#启用数据监控监控
druid.filters=stat config

连接方式说完之后开始web监控

启用之前要开启监控,如配置文件最后一行

然后配置web.xml过滤器

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
<!-- 过滤器 -->
    <filter>
        <filter-name>DruidWebStatFilter</filter-name>
        <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
        <init-param>
            <param-name>exclusions</param-name>
            <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>DruidWebStatFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <servlet>
        <servlet-name>DruidStatView</servlet-name>
        <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
        <init-param>
            <!-- 允许清空统计数据 -->
            <param-name>resetEnable</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <!-- 用户名 -->
            <param-name>loginUsername</param-name>
            <param-value>admin</param-value>
        </init-param>
        <init-param>
            <!-- 密码 -->
            <param-name>loginPassword</param-name>
            <param-value>123</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>DruidStatView</servlet-name>
        <url-pattern>/druid/*</url-pattern>
    </servlet-mapping>


</web-app>

然后开启服务器 

 输入自己设置的账号密码就能登录了

 druid还带了加密解密工具 让人就算拿到了项目源码对于不懂的人也不知道数据库密码

DruidDataSource dds = new DruidDataSource();
        ConfigTools cfg = new ConfigTools();
        //使用默认公钥解密
        String pwd = ConfigTools.decrypt( "CiY2mPqmsxJR6omIgyE42f4/8w2yJHYMaB2N8+84lZoN+tgnMGUYJTYTvrYf9vzZ3fzri8WcC69m8Ot+O5Vm5Q==");
        //使用默认私钥加密 返回String
        ConfigTools.encrypt("admin");
        //获取一对公钥私钥 每次都不同 私钥加密 公钥解密
        String[] ss = ConfigTools.genKeyPair(512);
        //私钥
        String s1 = ss[0];
        //公钥
        String s2 = ss[1];
        System.out.println(s1);
        System.out.println(s2);

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Druid是一个高性能的数据库连接,提供了许多优秀的特性,如连接监控、SQL监控、防SQL注入、自动识别驱动等。 使用Druid连接需要以下步骤: 1. 添加Maven依赖 ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> ``` 2. 配置数据源 ```java @Bean public DataSource dataSource() throws SQLException { DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/test"); dataSource.setUsername("root"); dataSource.setPassword("root"); // 配置连接参数 dataSource.setInitialSize(5); dataSource.setMinIdle(5); dataSource.setMaxActive(20); dataSource.setMaxWait(60000); dataSource.setTimeBetweenEvictionRunsMillis(60000); dataSource.setMinEvictableIdleTimeMillis(300000); dataSource.setValidationQuery("SELECT 1 FROM DUAL"); dataSource.setTestWhileIdle(true); dataSource.setTestOnBorrow(false); dataSource.setTestOnReturn(false); dataSource.setPoolPreparedStatements(true); dataSource.setMaxPoolPreparedStatementPerConnectionSize(20); dataSource.setFilters("stat,wall,log4j"); return dataSource; } ``` 3. 获取连接 ```java @Autowired private DataSource dataSource; public void test() throws SQLException { Connection conn = dataSource.getConnection(); // 执行SQL语句 // ... conn.close(); } ``` 4. 监控 Druid提供了Web监控界面,可以方便地查看连接的状态、SQL执行情况等。只需要在配置文件中添加以下代码: ```properties # 配置监控 # 访问地址:http://localhost:8080/druid/index.html # 用户名密码:admin/admin spring.datasource.druid.stat-view-servlet.enabled=true spring.datasource.druid.stat-view-servlet.url-pattern=/druid/* spring.datasource.druid.stat-view-servlet.login-username=admin spring.datasource.druid.stat-view-servlet.login-password=admin ``` 以上就是使用Druid连接的基本步骤,根据需要可以自行调整配置参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值