java在PoolProperties类中添加编码
我在项目中使用库tomcat-jdbc-8.0.23.jar
进行连接池。我面临的问题是无法从java源代码设置连接属性useUnicode=true;characterEncoding=UTF-8;
我曾尝试添加PooledProperties
类的连接属性,但没有成功
public static DataSource getEsmgDataSource(){
if(dataSourceEsmg == null){
DataSource eds = new DataSource();
PoolProperties p = new PoolProperties();
String dburl = ConfigurationManager.getDBProperties("smsc.url");
String username = ConfigurationManager.getDBProperties("smsc.user");
String password = ConfigurationManager.getDBProperties("smsc.password");
try {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
} catch (SQLException e) {
logger.error(Helper.GetException(e));
}
p.setDriverClassName("com.mysql.jdbc.Driver");
p.setUrl(dburl);
p.setUsername(username);
p.setPassword(password);
p.setMaxActive(2000);
p.setValidationQuery("select 1");
p.setValidationInterval(5000);
p.setMinIdle(Integer.parseInt(ConfigurationManager.getDBProperties("db.connection.esmg.min.idle")));
p.setMaxWait(Integer.parseInt(ConfigurationManager.getDBProperties("db.connection.esmg.max.wait")));//3000);
p.setRemoveAbandoned(true);
p.setConnectionProperties("useUnicode=true;characterEncoding=UTF-8;");
p.setRemoveAbandonedTimeout(Integer.parseInt(ConfigurationManager.getDBProperties("db.connection.esmg.abandoned.timeout")));//5);
eds.setPoolProperties(p);
dataSourceEsmg = eds;
}
return dataSourceEsmg;
}
如何从java源代码设置编码
共 (0) 个答案