核心代码如下所示:
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/users";
String user="root";
String password2="root";
connection=DriverManager.getConnection(url,user,password2); // 建立数据库链接,连接上了后就可以使用了
// 注:这里数据库相当于是一个数据库服务器的电脑上面跑的形式,就是一个远端的仓库,通过外部用用户名和密码进行连接
String sql="SELECT count(id) FROM admins WHERE username=? "+
"AND password=?";
// 通过数据库原语来告诉数据库,我要对你进行啥操作,这里是查询
statement=connection.prepareStatement(sql);
statement.setString(1,username); // 这里就是设置待查询的内容是啥,也就是设置待查询的条目,即那一行内容
statement.setString(2,password);
resultSet=statement.executeQuery(); // 这里执行查询过程(数据库数据很大时候,可能挺耗时的),是在服务器端的电脑那儿执行的(因为我现在安装在本人电脑上,所以就是在我自己电脑上面执行这个过程),查询结束,就把查询到的条目一条一条按照数据库的形式罗列出来放在resultSet这个变量里面
if(resultSet.next()){ // 这里在客户端的电脑上面(也就是现在我的电脑)将这些查询结果中再做一些操作
int count=resultSet.getInt(1); // 如果查询结果里有满足要求的内容的话,那么他们的第一个字段(因为上面说了,查询的结果也是按照原来数据库的条目内容一行行展示的,在我这个程序里第一个字段应该是int 型的序号)序号肯定是大于0的,如果查询结果变量resultSet内容为空,也就是数据库里没有这个待查询的用户名和密码,那么resultSet为空,他里面的第一个字段肯定没有大于0了
if(count>0){
out.print("Hello:"+username);
}else{
out.print("Sorry:"+username);
}
}