proxool连接池情况下rowset的使用

    技术2022-05-11  30

    import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;import java.util.logging.Logger;

    import javax.sql.rowset.CachedRowSet;import com.sun.rowset.CachedRowSetImpl;

    public class RowSetFactory{    private static Logger logger=Logger.getLogger(RowSetFactory.class.getName());    static    {        try        {            //1)非连接池情况下,用这个            //Class.forName("com.mysql.jdbc.Driver");            //2)proxool连接池           Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");                  }catch(Exception e)        {            logger.severe(e.getLocalizedMessage());        }    }    public static CachedRowSetImpl getRowSet()    {        try        {               //1)非连接池情况下,用这个            //connection不能够释放            CachedRowSetImpl rowSet=new CachedRowSetImpl();            rowSet.setUrl("jdbc:mysql://172.18.6.7:3306/wapchannel?useUnicode=true&characterEncoding=gb2312");            rowSet.setUsername("root");              rowSet.setPassword("");             //2)proxool连接池情况下,用这个               //用这个方法,默认的15个connectionCount很快就用完了            //rowSet.setUrl("proxool.test:com.mysql.jdbc.Driver:jdbc:mysql://172.18.6.7:3306/wapchannel?user=root&password=;&useUnicode=true&characterEncoding=gb2312");             rowSet.setCommand("select Fshortening,Ftitle,Fparent where Fen_topic=''");            rowSet.execute();             return rowSet;        }        catch(Exception e)        {            logger.severe("error happen when connect to the  database 16.27");            return null;        }    }    /**     * 正确的使用方法     * @param sql     * @return     */    public static CachedRowSet query(String sql){                Connection conn = null;        Statement stmt = null;        ResultSet rset = null;        try {            CachedRowSetImpl rs= new CachedRowSetImpl();            String url = "proxool.test:com.mysql.jdbc.Driver:jdbc:mysql://172.23.2.3:3306/wapchannel?user=root&password=;&useUnicode=true&characterEncoding=gb2312";            Properties info= new Properties();            info.setProperty("proxool.maximum-connection-count", "300");            conn=DriverManager.getConnection(url,info);                   stmt = conn.createStatement();            rset = stmt.executeQuery(sql);            rs.populate(rset);             return rs;        } catch (Exception e) {            e.printStackTrace();        } finally {            try {                if (stmt != null)                    stmt.close();            } catch (Exception e) {            }            try {                conn.close();            } catch (Exception e) {            }            conn = null;            stmt = null;            rset = null;        }       return null;    }

    }


    最新回复(0)