java.lang.IllegalArgumentException: illegal initialSize 20, maxActive 8
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai &allowPublicKeyRetrieval=true
username=root
password=abc123456
initialSize=20
MaxActive=20
错误提示:
/C:/Jdbchomework/out/production/Jdbchomework/druid-config.properties
九月 08, 2021 9:00:13 下午 com.alibaba.druid.pool.DruidDataSource error
严重: {dataSource-1} init error
java.lang.IllegalArgumentException: illegal initialSize 20, maxActive 8
at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:869)
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1376)
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1372)
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:109)
at com.imooc.homework.jdbc1.sample.DruidSample.main(DruidSample.java:41)
package com.imooc.homework.jdbc1.sample;
/**
* Druid连接池的配置和使用
*/
import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.imooc.homework.jdbc1.common.DbUtils;
import javax.sql.DataSource;
import java.io.FileInputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;
public class DruidSample {
public static void main(String[] args) {
Properties properties=new Properties();
String propertyFile = DruidSample.class.getResource("/druid-config.properties").getPath();
try {
propertyFile = new URLDecoder().decode(propertyFile,"UTF-8"); //%20转化为空格
// 1、加载属性文件
properties.load(new FileInputStream(propertyFile));
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(propertyFile);
Connection conn= null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// 2、获取DataSource对象
DataSource dataSource=DruidDataSourceFactory.createDataSource(properties);
// 3、创建数据库连接
conn=dataSource.getConnection();
pstmt=conn.prepareStatement("select * from goods limit 0,10");
rs= pstmt.executeQuery();
while (rs.next()) {
//next返回布尔值,如果存在下一条记录返回true,如果没有数据返回false
// 结果集一系列get方法中参数可以输入字段索引或者字段对应的名称
//JDBC中字段索引都是从1开始,而不是0
Integer goodsId=rs.getInt(1);
String name = rs.getString("name");
float price = rs.getFloat(3);
String desp = rs.getString("desp");;
System.out.println(goodsId+"-"+name+"-"+price+"-"+desp);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DbUtils.closeConnection(rs,pstmt,conn);
}
System.out.println(conn);
}
}
7
收起
正在回答
1回答
同学你好,单词拼写错误,将MaxActive修改为maxActive后再测试运行试下。
祝学习愉快~
java工程师2020版
- 参与学习 人
- 提交作业 9401 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星