weixin_38998783 2019-11-22 23:02 采纳率: 0%
浏览 240

QueryRunner的无connection是怎样获得连接的???

代码在下面已经给出 2 种方式查询到的结果一样,那么QueryRunner的无connection是怎样获得连接的???

//需要用到的工具类
public class DBCPUtils {
private static DataSource dataSource;
static{

    try {
        //1.加载找到properties文件输入流
        InputStream is = DBCPUtils.class.getClassLoader().getResourceAsStream("db.properties");
        //2.加载输入流
        Properties props = new  Properties();
        props.load(is);

        //3.创建数据源  基本数据源工厂
        dataSource = BasicDataSourceFactory.createDataSource(props);
    } catch (Exception e) {
        throw  new RuntimeException(e);
    }

}

public static DataSource getDataSource(){
    return dataSource;  
}

public static Connection getConnection6666(){
    try {
        return dataSource.getConnection();
    } catch (SQLException e) {
        throw  new RuntimeException(e);
    }

}

//有Connection 参数的
@Test
public void testQueryAll(){

    try {
        Connection conn = DBCPUtils.getConnection6666();
        QueryRunner qr = new QueryRunner(DBCPUtils.getDataSource());
        String sql = "select * from tbl_user";
        List<User> users = qr.query(conn, sql, new BeanListHandler<>(User.class));
        for (User user : users) {
            System.out.println(user.getUname()+"   "+user.getUpassword());
        }


    } catch (SQLException e) {
        throw new RuntimeException(e);

    }

//没有Connection 参数的
public void testQueryAll1(){

    try {
        QueryRunner qr = new QueryRunner(DBCPUtils.getDataSource());
       String sql = "select * from tbl_user";
        List<User> users = qr.query( sql, new BeanListHandler<>(User.class));

        for (User user : users) {
            System.out.println(user.getUname()+"   "+user.getUpassword());
        }


    } catch (SQLException e) {
        throw new RuntimeException(e);

    }

}
  • 写回答

1条回答 默认 最新

  • 明初啥都能学会 2024-04-18 22:04
    关注
    //需要用到的工具类
    public class DBCPUtils {
        private static DataSource dataSource;
        static {
            try {
                //1.加载找到properties文件输入流
                InputStream is = DBCPUtils.class.getClassLoader().getResourceAsStream("db.properties");
                //2.加载输入流
                Properties props = new  Properties();
                props.load(is);
     
                //3.创建数据源  基本数据源工厂
                dataSource = BasicDataSourceFactory.createDataSource(props);
            } catch (Exception e) {
                throw  new RuntimeException(e);
            }
        }
     
        public static DataSource getDataSource(){
            return dataSource;  
        }
     
        public static Connection getConnection6666(){
            try {
                return dataSource.getConnection();
            } catch (SQLException e) {
                throw  new RuntimeException(e);
            }
        }
    }
     
    public class TestQuery {
        @Test
        public void testQueryAll(){
            try {
                Connection conn = DBCPUtils.getConnection6666();
                QueryRunner qr = new QueryRunner(DBCPUtils.getDataSource());
                String sql = "select * from tbl_user";
                List<User> users = qr.query(conn, sql, new BeanListHandler<>(User.class));
                for (User user : users) {
                    System.out.println(user.getUname()+"   "+user.getUpassword());
                }
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }
     
        public void testQueryAll1(){
            try {
                QueryRunner qr = new QueryRunner(DBCPUtils.getDataSource());
                String sql = "select * from tbl_user";
                List<User> users = qr.query(sql, new BeanListHandler<>(User.class));
     
                for (User user : users) {
                    System.out.println(user.getUname()+"   "+user.getUpassword());
                }
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题