1.开篇
本篇博文主要讲解如何通过 JDBC 实现数据库中,用户名和密码的登录过程,如果对程序中的部分代码有疑问,可以参考博主的这篇博文,有关 Connection接口、Statement、ResultSet接口的相关使用方法都在下面这篇博文中:👇👇👇
https://blog.csdn.net/weixin_43823808/article/details/106444495
2.程序代码
因为这部分内容没有什么可介绍的,大家直接看下面的代码吧!!!👇👇👇
import java.util.*;//这里我们需要util包和sql包,所以对其进行导入 import java.sql.*; public class JDBCDemo { /*依次定义driver数据库驱动类所对应的字符串 * url格式字符串 * username用户名字符串 * password密码字符串 */ String driver="com.mysql.cj.jdbc.Driver"; String url="jdbc:mysql://localhost:3306/school?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8"; String username="root"; String password="123123"; public Boolean login(String username,String password) { if(username==null || password==null) {//用户名或密码为空,直接返回false return false; } try { Class.forName(driver); }catch(ClassNotFoundException e) { e.printStackTrace(); } Connection conn=null;//三个重要的接口!!! Statement state=null; ResultSet rs=null; try { conn=DriverManager.getConnection(url,username,password); String sql="SELECT stu_name FROM student WHERE stu_sex='女' "; state=conn.createStatement(); rs=state.executeQuery(sql); return rs.next();//只有用户名和密码输入正确,才会有相应的查询结果,此时返回true }catch(SQLException e1) {//如果连接失败,捕获并处理这个异常 e1.printStackTrace(); System.out.println("数据库访问异常!!!"); }finally {//无论是否连接成功,都要在操作数据库结束后关闭数据库连接,释放资源 try { if(rs!=null) { rs.close(); } if(state!=null) { state.close(); } if(conn!=null) { conn.close(); } }catch(SQLException e2) {//如果无法正常释放资源,则捕获并处理这个异常 e2.printStackTrace(); System.out.println("释放资源发生异常!!!"); } } return false;//只有得到正确的查询结果时返回true,其余情况全部返回false } public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("请输入用户名:"); String username=input.nextLine();//接收一个包括空格的字符串作为用户名 System.out.println("请输入密码:"); String password=input.nextLine();//接收一个包括空格的字符串作为密码 JDBCDemo a=new JDBCDemo();//声明类对象 if(a.login(username,password)) {//调用login()方法 System.out.println("登录成功!!!"); }else { System.out.println("用户名或密码错误,登录失败!!!"); } input.close(); } }
2.1 输入正确的用户名和密码之后,程序运行结果如下:
2.2 输入错误的用户名和密码之后,程序运行结果如下:
那么,以上就是通过 JDBC 实现数据库用户登录界面的相关内容,如有疑问欢迎留言讨论。 😄😄