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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵