300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > JDBC连接数据库实现登录功能

JDBC连接数据库实现登录功能

时间:2023-01-18 00:00:38

相关推荐

JDBC连接数据库实现登录功能

JDBC连接数据库实现登录功能

在MySQL数据库中创建用户以及密码实现登录功能连接MySQL数据库登录验证

在MySQL数据库中创建用户以及密码

选中要使用的数据库,在数据库中创立一个user的table ,其中包含两列varchar型数据,分别命名为LoginName和LoginPwd,然后在其中分别添加字符串作为用户名和密码。这里也可以增加登录人员的角色,如admin或者用户等。

实现登录功能

首先需要初始化界面,使用Map<String,String>来记录用户的登录信息

private static Map<String, String> initUI() {Scanner s=new Scanner(System.in);System.out.print("用户名:");String loginName=s.nextLine();System.out.print("密码:");String loginPwd=s.nextLine();Map<String,String> userLoginInfo=new HashMap<>();userLoginInfo.put("loginName",loginName);userLoginInfo.put("loginPwd",loginPwd);return userLoginInfo;}

连接MySQL数据库

连接数据库共分为六步,分别是

第一步:注册驱动(告诉JVM要连接那个公司数据库)

第二步:获取连接(JVM和数据库之间的通道打开)

第三步:获取数据库操作对象 (专门执行SQL语句的对象)

第四步:执行SQL语句

第五步:处理查询结果集(只有当第四部执行的是select的话,才有第五步)

第六步:释放资源(使用完资源之后关闭.Java和数据库属于进程间的通信)

将输入的用户名与密码与MySQ数据库中数据进行查询与比对

private static boolean Login(Map<String, String> userInfo) {boolean LoninSuccess=false;//JDBCConnection conn=null;PreparedStatement ps=null;ResultSet res=null;//单独定义从之前定义的userInfo的map中得到的用户名和密码String loginName=userInfo.get("loginName");String loginPwd=userInfo.get("loginPwd");try {//1注册驱动Class.forName("com.mysql.jdbc.Driver");//第二部:获取连接(JVM和数据库之间的通道打开)conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8","root","这里输入自己的数据库的密码");//第三部:获取预编译的数据库操作对象 (专门执行SQL语句的对象)String sql="select * from user where LoginName=? and LoginPwd=?"; // ?为占位符ps=conn.prepareStatement(sql);ps.setString(1,loginName);//给占位符?传递值ps.setString(2,loginPwd);//第四部:执行SQL语句res=ps.executeQuery();//第五步: 处理结果集if (res.next()){LoninSuccess=true; //若查询结果有数据返回则登录成功}}catch (Exception e){e.printStackTrace();}finally {//第六部:释放资源(使用完资源之后关闭.Java和数据库属于进程间的通信)if(res!=null){try {res.close();} catch (SQLException e) {e.printStackTrace();}}if(ps!=null){try {ps.close();} catch (SQLException e) {e.printStackTrace();}}if(conn!=null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}return LoninSuccess;}

登录验证

对以上登录功能进行验证

public class LogIn {public static void main(String[] args) {//初始化界面Map<String,String> userInfo=initUI();//验证用户名和密码boolean LogInSuccess=Login(userInfo);System.out.println(LogInSuccess?"登录成功":"登录失败");}//以上登录与连接数据库代码}

效果如下

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。