Java实现登录[数据库]

article/2025/10/14 20:37:00

和上篇的随机点名系统一样,都是使用MySQL数据库来实现,因为刚学所以写点简单例子满足下自己;

需求分析:

1、输入用户名和密码

2、与数据库中的记录进行比较

原理比较 简单,直接贴代码吧。

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;import com.hym.utils.CloseUtils;
import com.hym.utils.DBUtils;public class LoginTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("请输入用户名: ");String username = sc.next();System.out.print("请输入登录密码: ");String password = sc.next();int result = login(username,password);//返回的result为1时表示登录成功;if(result==1){System.out.println("Login Successfully~");}else if(result==0){//此时帐号是存在的System.out.println("密码错误...");}else{System.out.println("帐号不存在...");}}private static int login(String username, String password) {Connection conn = null;Statement sta = null;ResultSet rs = null;try {//加载驱动并创建连接对象conn = DBUtils.getConnection();//创建执行对象sta = conn.createStatement();//执行匹配语句rs = sta.executeQuery("select name,password from login");while(rs.next()){//得到每次记录中的name值和password值,用来比较String name = rs.getString("name");String pw = rs.getString("password");//当帐号和密码都匹配时,返回1;if(username.equals(name)&&password.equals(pw)){return 1;//只有帐号匹配时,返回0,表示帐号存在;}else if(username.equals(name)){return 0;}}} catch (SQLException e) {e.printStackTrace();}finally{//关闭顺序按从小到大;CloseUtils.closeAll(rs,sta,conn);}//都不存在,返回-1return -1;}
}

        这是在MySQL中存储的用户名与密码;     下列为运行结果:


改进:上述例子虽然实现了功能,但是当数据库中数据量庞大的时候,执行效率很低;下面对上述代码进行改进,使用预处理的执行对象;增加了安全性也提高了执行性能;

public class LoginTwoTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("请输入用户名: ");String username = sc.next();System.out.print("请输入登录密码: ");String password = sc.next();boolean result = login(username,password);if(result){System.out.println("Login Successfully~");}else{System.out.println("Login Defealted..");}}private static boolean login(String username, String password) {Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {//加载驱动并创建连接对象conn = DBUtils.getConnection();//创建预处理执行对象,执行语句获取第一栏String sql = "select count(1) from login where name=? and password=?";ps = conn.prepareStatement(sql);//将指定参数设置为给定 Java String 值,将此值发送给数据库ps.setString(1, username);ps.setString(2, password);rs = ps.executeQuery();if(rs.next()){//如果第一栏中有元素id则肯定大于0,返回的则为true说明匹配上了;int result = rs.getInt(1);return result>0;}} catch (SQLException e) {e.printStackTrace();}finally{//关闭顺序按从小到大;CloseUtils.closeAll(rs,ps,conn);}return false;}
}

后续更新实现注册功能;


http://chatgpt.dhexx.cn/article/ZhrD4vBS.shtml

相关文章

sql数据库身份验证登录

工具:SQL Server(我使用的是SQL Server) 步骤: 1、打开SQL Server,先选择Windows身份验证登录 2、定位到[服务器/安全性/登录名],可以选择其中有的登录来登录,也可以自己创建登录名来登录。 3、[自建登录…

禅道登录数据库方法

1、登录zentao数据库 先付权限给/opt/zbox/auth/users(命令:sudo chmod -R 777 users) 然后在路径下执行/opt/zbox/auth ./adduser.sh ,添加admin账密 2、进入到数据库管理界面 3、进入后登录数据库 系统:MySQL&am…

Oracle数据库登录报错 ORA-12541:TNS:no listener(记录)

重启虚机的时候,有时会变更数据库的tns配置,导致数据库连接报错,导致自己的服务启动失败 解决方案:重启数据库,重启TNS监听 (1) 登录oracle数据库,命令:su - oracle (如果登录失败,尝试切换root用户后登录) (2&#…

达梦:如何登录数据库(基础篇)

登录达梦数据库有两种方式,包括使用disql命令行工具登录和DM管理工具登录。 1.disql命令行工具登录 dIsql 是 DM 数据库自带的工具,只要安装了 DM 数据库,就可以在应用菜单和安装目录中 找到。 查看方式: ps -ef|grep dmse…

达梦数据库登录账户限制说明

前言 密码太多?总是忘记,尝试登录,结果账户被锁定。为防止别人恶意破解登录,输入密码错误多少次就锁定账号、锁定多长时间、全都由我们自己来定! 今天我们就来详细剖析DM数据库登录账户的限制方式。 测试 我们先建立…

达梦数据库——数据库登录 / 连接失败原因整理..

在数据库的使用过程中,不可避免的会遇到数据库连接不上,数据库登录失败等等等等....问题。 以下是我个人遇到的一些相关问题的整理。 常见问题:连接数据库异常排查思路报错信息网络通信异常、创建socket连接失败、用户名密码错误、用户被锁…

命令行登录数据库

命令行登录数据库 登录自己数据库 命令说明mysql -u 用户名 -p 密码使用指定用户名和密码登录当前计算机中的MySQL数据库 登录本机:mysql -uroot -p123456 登录别人数据库 命令说明mysql -h 主机IP -u 用户名 -p 密码-h 指定IP 方式,进行 登录 登录其它设备数…

人大金仓数据库登录、查看数据库

启动数据库服务测试 ​ 1、查看数据存储目录 [rootnode1 ~]# su - kingbase Last login: Mon Mar 1 18:00:48 CST 2021 on pts/2 [kingbasenode1 ~]$ cd /data/kingbase/v8/data/ [kingbasenode1 data]$ ls -lh 登录后复制 [kingbasenode1 bin]$ ./ksql -U system -W t…

数据库服务的运行与登录

一、打开数据库服务 1、数据库服务 :SQL Server(MSSQLServer) 1)运行在服务器端的应用程序,提供数据的存储、处理和事物等。 2)在使用DBMS客户端之前,必须首先打开该服务。 2、打开与关闭的方式 1&#xf…

登录数据库详解

登录数据库 1 . 双击以下: 2 . 进入数据库输入密码点击连接: 3 . 连接成功的话进入这个页面就代表完成了;要是连接不成功请动动你的小手往下拉; 不成功连接一 4 . 连接不成功的情况下万一出现以下这状况 : 5 . 先关闭这个“无法连…

python3.8.2使用web.py做web开发

web.py是适用于Python的Web框架,功能强大而又简单。web.py是公共领域;您可以毫无限制地将其用于任何目的。 一、安装方式 PIP方式 pip install web.py0.51最新0.51版本同时支持Python 2.7和Python> 3.5。 从GitHub获取最新的开发版本 解压&#xf…

web—2

2.基础入门——数据包拓展 网站解析对应 攻击层面? 源码,搭建平台,系统,网络层等 安全问题? 目录,敏感文件,弱口令,IP以及域名 HTTP/S—数据包 • https协议需要到ca申请证书&#…

Python 3 web开发

文章目录 web开发发展历程HTTP协议简介实验环境HTTP内容简介HTTP请求HTTP格式推荐文档 HTML简介CSS简介JavaScript简介小结 WSGI接口简介运行WSGI服务小结 web框架常见Python web框架小结 使用模板小结 总结推荐文档实验文件 web开发发展历程 Python有上百种web开发框架&#x…

WEB:web2

背景知识 代码审计 题目 由上述可知,这段代码定义了一个函数encode,接受一个字符串参数$str,并返回对其进行加密后的结果 加密算法包括: 使用strrev函数将字符串进行翻转;对翻转后的每个字符,将其ASCII值…

Web3.py 学习(一)

一、什么是Web3.py Web3.py is a python library for interacting with Ethereum. Its API is derived from the Web3.js Javascript API and should be familiar to anyone who has used web3.js. Web3.py是连接以太坊的python库,它的API从web3.js中派生而来。如果…

Web基础(三)Python Web

文章目录 Python Web基础1. WSGI1.1 概述1.2 实现原理1、WSGI Server/gateway2、WSGI Application3、WSGI MiddleWare 1.3 测试 WSGI服务器代码简析 1.4 实现WSGI服务器1.5 生产环境中的Web服务器[Gunicorn](https://github.com/benoitc/gunicorn "Gunicorn")[uWSGI …

【小沐学Python】Python实现Web服务器(web2py)

🍺基于Python的Web服务器系列相关文章编写如下🍺: 🎈【Web开发】Python实现Web服务器(Flask快速入门)🎈🎈【Web开发】Python实现Web服务器(Flask案例测试)&a…

Python——Web2py开发实战:开发一个自己的网站(新手入门级)

目录 一、web2py 二、使用步骤 1.找到一个可以帮助网站运营的工具——pythonanywhere 1)创建账户; 2)创建网站 3) 网站管理 2.我的开端 1)删除example app 2)创建新的app sophia 3)修改参数 4&a…

web2py框架

介绍: web2py是一种免费的、开源的web开发框架,采用python语言编写,并且可以使用python编程。 MVC模式:模型Model、视图View、控制器Controller 一、安装 pip install web2py 二、创建项目(Pycharm) 1.选择File->New Project-&…

web2py入门教程(1)

IDE:PyCharm 1、创建web2py项目 在下图左侧选中Web2Py,在右侧填写项目路径和应用名称,我这里是第一次创建,所以直接点击"Create"创建项目,此时会自动下载Web2Py项目框架(如果不是第一次创建&am…