java druid sqlite_javalite 使用druid数据库连接池配置

本文详细介绍了如何在Java项目中配置Druid数据库连接池,包括在pom.xml中引入Druid依赖,设置DruidWebStatFilter过滤器以监控应用性能,以及在web.xml中添加StatViewServlet展示监控页面。同时,通过DbConfig类配置数据源,并从外部配置文件druidConfig.properties读取连接参数,实现动态配置。最后,提到了Druid的一些关键配置选项,如最大连接数、初始化大小、验证查询等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在pom文件中引入jar包

com.alibaba

druid

1.1.10

在web.xml中引入Durid的过滤器 DruidWebStatFilter

DruidWebStatFilter

com.alibaba.druid.support.http.WebStatFilter

exclusions

*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*

profileEnable

true

principalCookieName

USER_COOKIE

principalSessionName

USER_SESSION

DruidWebStatFilter

/*

注意这个过滤器要放在 org.javalite.activeweb.RequestDispatcher 的前面,因为activeWeb 中请求的入口是就是这个过滤器,如果请求先被RequestDispatcher 捕获了的话就直接返回相应的静态页面或者请求结果了。这样的话,就不能捕获到API了。

然后还要在web.xml中添加druid的Servlet 用于展现监控的静态页面,注意的是这里需要设置用户名密码以及客户端的ip,一般设置为只能本机访问,更多详细的配置参考

StatViewServlet配置

在 app.config.DbConfig 类中配置数据源

因为项目中没有引入spring来实现bean的自动管理,所以我们这里需要自己把 com.alibaba.druid.pool.DruidDataSource new 出来,相应的属性配置也是用java代码来实现,如下:

public void init(AppContext context) {

String password = context.get("config_password", String.class);

System.setProperty("druid.wall.logViolation", "true");//对被认为是攻击的SQL进行LOG.error输出,设置为true表示输入日志

System.setProperty("druid.wall.throwException", "false");//对被认为是攻击的SQL抛出SQLException 设置为false表示不抛出异常

Properties properties = new Properties();

try {

properties.load(DbConfig.class.getClassLoader().getResourceAsStream("druidConfig.properties"));

} catch (IOException e) {

logger.error("读取druid配置失败");

}

DruidDataSource dataSource = new DruidDataSource();

dataSource.setPassword(password); // 这里的密码使用的是config.txt中的密码

dataSource.configFromPropety(properties);

dataSource.setConnectionProperties("druid.stat.mergeSql=true"); // 相似的sql语句自动融合

environment("development").dataSource(dataSource);

environment("development").testing().dataSource(dataSource);

environment("production").dataSource(dataSource);

}

在代码中读取 druidConfig.properties 配置文件,并把配置文件中的值设置到 DruidDataSource 当中,这个文件的内容如下

druid.url = jdbc:mysql://192.168.2.113:3306/jhbims?useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true

druid.username = jhbims

druid.password = jhbims

druid.driverClassName = com.mysql.jdbc.Driver

druid.initialSize = 5

druid.minIdle = 3

druid.maxActive = 100

drud.maxWait = 1000

druid.testOnBorrow = true

druid.filters = stat,wall

本文由博客一文多发平台 OpenWrite 发布!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值