jdbc这两个方法的区别,第二个怎么实现查询?

/**
* 查询数据
* @param sql
* 查询SQL
* @return
* 结果集
*/
//查数据 怎么实现呀

public List> query(String sql) throws Exception;

/**
 * 查询数据
 * @param sql
 * 查询SQL
 * @param parameters
 * SQL中需要填充的数据集合
 * @return
 * 数据集
 */
public List<Map<String, Object>> query(String sql, Object[] parameters) throws Exception;

public List> query(String sql, Object[] parameters) throws Exception{
Class.forName(Driver);//加载驱动,根据不同的数据库driver也不一样

        Connection connect=DriverManager.getConnection(url,username,password);//url 是数据库的连接路径,username是用户名,password是密码

        PreparedStatement pstm=connect.prepareStatement(sql);

        for(int i=0;i<parameters.length;i++)
        {
            pstm.setObject(i,parameters[i]);//填充sql 语句
            }

            //获取结果集
            ResultSet rs=pstm.pst.executeQuery();

            //之后将获取的每一条记录封装到一个类中,比如MyBean对象中
            while(re.next())
            {
                        MyBean mb=new MyBean();
                        mb.set.....(rs.getString("数据库表的字段名"));//可能获取的是int行数据getInt(“数据库表的字段名”);
                        //在将mb添加到list 中
                        list.add(mb);//又好像是push(mb);这个不太记得了
            }

            //关闭资源
            if(rs!=null)
                    rs.close();
                    if(pstm!=null)
                    pstm.close();
                    if(connect!=null)
                    connect.close();

            //然后返回list 
            return list;

}

大概的步骤就是这样,代码对于你还有一些要自己添加的,有什么问题可以把代码分享一下一起讨论

1.第一个是无参数定义的查询方法; 即sql中无占位符查询

2.第二个是存在多个参数的查询方法;
如: sql ="select * form user where userId=? and userName=?"

query(sql, new Object[]{userId,userName}) 即可;