weixin_38998783 2019-11-22 23:02
浏览 239

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);

    }

}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 mmdetection3d如何计算单目3D目标检测方法的flops
    • ¥40 串口调试助手打开串口后,keil5的代码就停止了
    • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
    • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
    • ¥50 C++五子棋AI程序编写
    • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。
    • ¥15 SQL Server analysis services 服务安装失败
    • ¥15 基于面向对象的图书馆借阅管理系统
    • ¥15 opencv图像处理,需要四个处理结果图
    • ¥20 centos linux 7.9安装php8.2.18不支持mysqli模块的问题