java吧 关注:1,188,574贴子:12,598,359
  • 6回复贴,共1

求大佬帮忙解释一下DBCon这段代码!!!

只看楼主收藏回复

public class DBCon {
private static String dbDriver="com.mysql.jdbc.Driver";
private String dbUrl="jdbc:Access:///D:/java/english.mdb";
private Connection conn=null;
public Connection getConnection()
{
try {
Class.forName(dbDriver);
conn=DriverManager.getConnection(dbUrl,"","");
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return conn;
}
public ResultSet doQuery(String sql,Object[] params)
{
ResultSet rs=null;
conn=this.getConnection();
try {
PreparedStatement pstmt=conn.prepareStatement(sql);
for(int i=0;i<params.length;i++)
{
pstmt.setObject(i+1, params[i]);
}
rs=pstmt.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
主要是看不懂后面这个public ResultSet doQuery(String sql,Object[] params)方法。
问题1:
public ResultSet doQuery(String sql,Object[] params)这是个什么鬼?我百度了半天没找到有doQuery这个方法,此外后面参数里面 Object[] params又是指什么?
问题2:
conn=this.getConnection();里this.getConnection()是指public Connection getConnection()这个方法吗?


IP属地:辽宁1楼2017-10-12 10:19回复
    有大佬能解释一下吗?


    IP属地:辽宁2楼2017-10-12 10:22
    回复


      IP属地:辽宁3楼2017-10-12 10:28
      回复
        问题2:是的
        问题1:Object[] params是对sql语句的补充,因为传参 sql里面不一定是完整的sql语句,比如“SELECT userid,name FROM user WHERE userid=?”,那么就可以通过传入数组[1001]来实现“SELECT userid,name FROM tuser WHERE userid=1001”的目的。


        IP属地:浙江4楼2017-10-12 10:29
        收起回复