Java使用数据库连接池自己出现的错误
导入
commons-dbcp2-2.7.0.jar
commons-pool2-2.7.0.jar
mysql-connector-java-8.0.17.jar
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.apache.commons.dbcp2.BasicDataSource;
public class Example01 {
public static DataSource ds=null;
static{
BasicDataSource bds=new BasicDataSource();
bds.setDriverClassName("com.mysql.cj.jdbc.Driver");
bds.setUrl("jdbc:mysql://localhost:3306/xscj?serverTimezone=UTC");
bds.setUsername("root");
bds.setPassword("123456");
bds.setInitialSize(5);
bds.setMaxIdle(5);
ds=bds;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Connection conn=ds.getConnection();
DatabaseMetaData metaData=conn.getMetaData();
System.out.println(metaData.getURL()+","+metaData.getUserName()+","+metaData.getDriverName());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
第一个错误:Loading class `com.mysql.jdbc.Driver’. This is deprecated
使用5.0以上版本的要使用:com.mysql.cj.jdbc.Driver
第二个错误:Cannot create PoolableConnectionFactory (The server time zone value ‘?й???’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.)
时区设置 ?serverTimezone=UTC
本来以为已经可以了,但是!
给了这个错误
第三个错误:Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
还好懂一点英语
试了一下它给的提示commons/logging
于是就找到commons-logging-1.2.jar
注:logging包来配合使用,logging包中包装了各种日志API的实现
导入,矣,好了
改错误使我快乐