c3p0
public void test() throws PropertyVetoException, SQLException {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test?serverTimezone=UTC");
dataSource.setDriverClass("com.mysql.cj.jdbc.Driver");
dataSource.setUser("root");
dataSource.setPassword("123");
Connection connection = dataSource.getConnection();
System.out.println(connection);
}
最容易出现问题的是我们在设置Url的时候,会出现
The server time zone value ‘�й���ʱ��’ is unrecogni;解决方案
为了更好的连接体验,我们将关于数据库连接的信息全部提取到jdbc.properties
url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC
driverClass=com.mysql.cj.jdbc.Driver
user=root
password=123
那我们该如何去读取这个文件?ResourceBundle类专门用来读取properties文件。
public void test() throws PropertyVetoException, SQLException {
ResourceBundle rb = ResourceBundle.getBundle("jdbc");//不需要加上properties后缀
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setJdbcUrl(rb.getString("url"));
dataSource.setDriverClass(rb.getString("driverClass"));
dataSource.setUser(rb.getString("user"));
dataSource.setPassword(rb.getString("password"));
Connection connection = dataSource.getConnection();
System.out.println(connection);
}
Druid
public void test() throws SQLException {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl("jdbc:mysql://localhost:3306/test?serverTimezone=UTC");
dataSource.setUsername("root");
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setPassword("123");
Connection connection = dataSource.getConnection();
System.out.println(connection);
}