有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案