通过反射获取DataSource里数据源的账号密码

Posted penghq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过反射获取DataSource里数据源的账号密码相关的知识,希望对你有一定的参考价值。

public Connection getDbConnection()
    {
        Connection conn = null;
        // 获得连接
        DataSource ds = null;
        try
        {
            Context ctx = new InitialContext();
            ds = (DataSource) ctx.lookup("java:comp/env/PCMSDB");
           //ds = (DataSource) ctx.lookup("PCMSJN");// weblogic环境配置数据源
            Class c = ds.getClass();
            //Object invokeTest = c.newInstance();
            Method getPassword = c.getMethod("getPassword", null);
            Method getUsername = c.getMethod("getUsername", null);
            
            Object pwd = getPassword.invoke(ds, null);
            Object username = getUsername.invoke(ds, null);
            //测试输出
            System.out.println("getDbConnection pwd:"+pwd.toString());
            System.out.println("getDbConnection username:"+username.toString());
        }
        catch (Exception e)
        {
            System.out.println("getDbConnection Exception "+e.getMessage());
            e.printStackTrace();
        }
        try
        {
            conn = ds.getConnection();
        }
        catch (SQLException e)        
        {            
            System.out.println("getDbConnection SQLException "+e.getMessage());
        }
        return conn;

    }

 

以上是关于通过反射获取DataSource里数据源的账号密码的主要内容,如果未能解决你的问题,请参考以下文章

mybatis通过windows方式连接sqlserver数据库配置文件怎么写?

PhpMyadmin利用Mysql root密码获取webshell

用Navicat for MySQL远程连接服务器数据库,知道账号和密码。我在客户机这边用Navi

android 如何获取wifi密码?非root

安卓浏览器保存的账号密码 在哪里

如何通过网页文件获取数据库账号和口令