返回顶部
首页 > 资讯 > 后端开发 > Python >使用JDBC工具类实现简单的登录管理系统
  • 538
分享到

使用JDBC工具类实现简单的登录管理系统

2024-04-02 19:04:59 538人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

使用JDBC工具类实现一个简单的登录管理系统,供大家参考,具体内容如下 实现要求: 在控制台实现一个用户管理系统,包含3个功能: 1.用户登录  2.注册  3.

使用JDBC工具类实现一个简单的登录管理系统,供大家参考,具体内容如下

实现要求:

在控制台实现一个用户管理系统,包含3个功能:

1.用户登录  2.注册  3.用户查询。

启动程序后,进入主菜单选项:

输出:“请选择您要操作的功能:1.用户登录  2.新用户注册 3所有用户查询: ”

功能说明:

1.用户登录:

请用户输入用户名和密码,接收后,去数据库的users表中查询是否存在该用户名。并输出合理的提示,例如:登录成功!  用户名不存在! 密码错误!

不论登录是否成功,都返回主菜单界面。

2.新用户注册 :

请用户输入用户名和密码,接收后,去数据库的users表中执行新增操作。并输出合理的提示,例如:注册成功!  用户名已存在! 

3.所有用户查询:

该功能必须在用户登录后方可查看,如果用户已经登录成功,即可在控制台查看所有用户的所有信息。如果没有登录,提示:您还没有登录呢,无权查看用户信息!

第一步:创建JDBCUtils类和jdbc.properties文件

user=root
passWord=123456
url=jdbc:Mysql://localhost:3306/db2?useSSLfalse&serverTimezone=UTC
//1.获取连接对象  2.关闭连接对象---取代单元测试中的  @Before 和 @After 3.实现登录验证
public class JDBCUtils {
    private static Connection conn;
    private static Properties prop;
    private  static PreparedStatement prep;
    private static ResultSet rs;
    static {
        try {
        //使用类加载器加载jdbc.properties文件,返回一个字节流,和Properties关联在一起
            InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
            //创建Properties对象
            prop = new Properties();
            prop.load(is);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    //1.获取连接对象
    public static Connection getConnection(){
        try {
            return DriverManager.getConnection(prop.getProperty("url"),prop);
        } catch (sqlException e) {
            e.printStackTrace();
        }

        return null;
    }
    //2.释放资源
    public static void close(ResultSet rs, Statement state,Connection conn){
        if(rs !=null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(state !=null){
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(conn !=null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    3.//判断登录
    public  static  boolean login(String user,String password){
    //3.1获取连接对象
        Connection conn = JDBCUtils.getConnection();
        try {
         //3.2定义sql
            String sql="select * from user where username=? and password=?";
            //3.3获取执行sql的对象
            prep = conn.prepareStatement(sql);
            //3.3.1 给占位符赋值
            prep.setString(1,user);
            prep.setString(2,password);
            //3.4执行sql
            ResultSet rs = prep.executeQuery();
            return rs.next();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally{
        //3.4调用关闭连接静态方法
            JDBCUtils.close(rs,prep,conn);    
        }
        return false;
    }
}

第二步:创建测试类:Hello01

public class Hello01 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Connection conn=null;
        PreparedStatement prep=null;
        ResultSet rs=null;
        Statement state=null;
        //判断是否登录过,如果没有登录,就无法查询
        boolean a=false;
        //判断用户是否登录,登录过就无法再次登录
        boolean b=true;
        String name;
        String psw;
        while (true){
            System.out.println("请输入你要执行的操作:1.登录 2.注册 3.查询");
            int i = sc.nextInt();
            switch (i){
                case 1:
                    if(b){
                        System.out.println("请输入你的账号:");
                        name= sc.next();
                        System.out.println("请输入你的密码:");
                        psw= sc.next();
                        //JDBCUtils.login(name,psw) 这个方法的返回值是Boolean类型 可以当if的条件判断
                        if(JDBCUtils.login(name,psw)){
                            System.out.println("恭喜您登录成功");
                            //登录成功 a的值变为turn  
                            a=true;
                        } else {
                            System.out.println("不好意思登录失败,请重新操作!!!");
                        }
                        b=false;
                    }else {
                        System.out.println("您已经登录!!!");
                    }

                    break;
                case 2:
                    try {
                        System.out.println("请输入您要注册的账号:");
                        name = sc.next();
                        conn = JDBCUtils.getConnection();
                        //开启事务
                        conn.setAutoCommit(false);
                        while (true){
                        String sql = "select * from user where username=?";
                        prep = conn.prepareStatement(sql);
                        prep.setString(1,name);
                         rs = prep.executeQuery();
                        if(rs.next()){
                            System.out.println("用户名已存在,请重新输入:");
                            name = sc.next();
                        }else {
                            break;
                        }
                         }
                        System.out.println("请输入您的密码:");
                        psw = sc.next();
                        String sql1="insert into user values (null,?,?)";
                         prep = conn.prepareStatement(sql1);
                         prep.setString(1,name);
                         prep.setString(2,psw);
                         prep.executeUpdate();
                         //int i1=3/0;
                        System.out.println("恭喜您注册成功!!!");
                        //提交事务
                        conn.commit();
                    } catch (SQLException e) {
                        try {
                            //事务回滚
                            conn.rollback();
                        } catch (SQLException ex) {
                            ex.printStackTrace();
                        }
                        e.printStackTrace();
                    }finally {
                        JDBCUtils.close(rs,prep,conn);
                    }
                    break;
                case 3:
                //当a的值为turn时才可以查询 否则返回操作页面
                    if(a){
                        try {
                            conn = JDBCUtils.getConnection();
                            String sql ="select * from user";
                            state = conn.createStatement();
                            rs = state.executeQuery(sql);
                            ArrayList<User> users = new ArrayList<>();
                            while (rs.next()){
                                int id = rs.getInt("id");
                                String username = rs.getString("username");
                                String password = rs.getString("password");
                                User user = new User(id,username,password);
                                users.add(user);
                                System.out.println(user);
                            }
                        } catch (SQLException e) {
                            e.printStackTrace();
                        } finally {
                            JDBCUtils.close(rs,state,conn);
                        }
                    }else {
                        System.out.println("请先登录,在查询!!!");
                    }
                    break;
            }
        }
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 使用JDBC工具类实现简单的登录管理系统

本文链接: https://lsjlt.com/news/140320.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用JDBC工具类实现简单的登录管理系统
    使用JDBC工具类实现一个简单的登录管理系统,供大家参考,具体内容如下 实现要求: 在控制台实现一个用户管理系统,包含3个功能: 1.用户登录  2.注册  3....
    99+
    2024-04-02
  • JDBC工具类实现登录功能
    本文实例为大家分享了JDBC工具类实现登录功能的具体代码,供大家参考,具体内容如下 我们使用JDBC实现数据库的增删改查,代码基本差不多,有很多重复,所以我们可以把这些重复的代码写成...
    99+
    2024-04-02
  • Java实现简单员工管理系统
    本文实例为大家分享了Java实现简单员工管理系统的具体代码,供大家参考,具体内容如下 代码如下: import java.util.*; public class Demo {   ...
    99+
    2024-04-02
  • java基于jdbc实现简单学生管理系统
    目录工具类工程目录:运行截图:这个是java连接mysql数据库的一个简单学生系统,通过jdbc连接数据库。 工具类 JDBCuntils. package Student; ...
    99+
    2024-04-02
  • C++实现简单的通讯录管理系统
    本文实例为大家分享了C++实现简单的通讯录管理系统的具体代码,供大家参考,具体内容如下 案例描述: 通讯录是一个可以记录亲人、好友信息的工具。本教程主要利用C++来实现一个通讯录管理...
    99+
    2024-04-02
  • Java实现简单通讯录管理系统
    本文实例为大家分享了Java实现通讯录管理系统的具体代码,供大家参考,具体内容如下 题目: 1、完成一个通讯录,需求: (1)添加联系人(联系人:编号,姓名,手机号,QQ,邮箱地址)...
    99+
    2024-04-02
  • C++实现简单通讯录管理系统
    本文实例为大家分享了C++实现简单的通讯录管理系统的具体代码,供大家参考,具体内容如下 一、代码 #include <iostream> #include <str...
    99+
    2024-04-02
  • python实现简单通讯录管理系统
    本文实例为大家分享了python实现通讯录管理系统的具体代码,供大家参考,具体内容如下 =====欢迎使用通讯录管理系统=====1.添加2.修改3.册除4.查询5.排序6.退出==...
    99+
    2024-04-02
  • 怎么用Java实现简单员工管理系统
    这篇文章主要讲解了“怎么用Java实现简单员工管理系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Java实现简单员工管理系统”吧!代码如下:import java.uti...
    99+
    2023-06-29
  • 如何使用C语言实现简单员工工资管理系统
    小编给大家分享一下如何使用C语言实现简单员工工资管理系统,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下(一)公司现状分析公司主要有经理、技术员、销售员、销售经理4类岗位人员,他们都有基本信息:职工号、姓名、性别...
    99+
    2023-06-29
  • C语言实现简单员工工资管理系统
    本文实例为大家分享了C语言实现简单员工工资管理系统的具体代码,供大家参考,具体内容如下 (一)公司现状分析 1、公司主要有经理、技术员、销售员、销售经理4类岗位人员,他们都有基本信息...
    99+
    2024-04-02
  • C++实现简单版通讯录管理系统
    这个通讯录管理系统是我听课后做的笔记,都是很基础的逻辑实现,第一次动手写了一个小案例感觉找到了一点方向,也希望能帮到一点忙! 1、系统需求 通讯录是一个可以记录亲人、好友信息的工具。...
    99+
    2024-04-02
  • windows8系统自带的磁盘管理工具实现简单无损分区
      随着Windows8系统上市,各大品牌(联想、华硕、宏基、三星等)笔记本电脑也都开始预装 windows8系统。但是笔记本电脑商家在预装windows8系统时没有考虑用户体验,把一个500GB或1TB的硬盘单独划分成...
    99+
    2023-06-04
    win8 无损分区 管理工具 磁盘 系统 自带 windows8
  • C语言实现简单的通讯录管理系统
    本文实例为大家分享了C语言实现通讯录管理系统的具体代码,供大家参考,具体内容如下 要实现一个通讯录管理系统,需要用到结构体、指针、文件操作、动态管理等内容。 效果展示: 实现思路 ...
    99+
    2024-04-02
  • C语言实现简单通讯录管理系统
    C语言实现的通讯录管理系统,供大家参考,具体内容如下 设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:学号、姓名、电话号码、所在班级、寝室地址等),通信录数据类型定义为...
    99+
    2024-04-02
  • C++怎么实现简单通讯录管理系统
    本篇内容介绍了“C++怎么实现简单通讯录管理系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、代码#include <i...
    99+
    2023-06-29
  • python怎么实现简单通讯录管理系统
    要实现简单的通讯录管理系统,可以使用Python的字典来存储联系人的信息。以下是一个简单的实现示例:```pythoncontact...
    99+
    2023-08-18
    python
  • C语言实现简单职工信息管理系统
    本文实例为大家分享了C语言实现职工信息管理系统的具体代码,供大家参考,具体内容如下 代码实现如下: #include <stdio.h>//输入、输出指令 #includ...
    99+
    2024-04-02
  • 使用Python实现简单的学生成绩管理系统
    目录基本功能:实现效果:制作技巧  1.定义变量2.读取学生成绩信息3.循环等待操作指令并执行4.编写操作指令执行函数(1)显示学生成绩信息函数(2)新建学生成绩...
    99+
    2024-04-02
  • 怎么用C语言实现简单通讯录管理系统
    本篇内容主要讲解“怎么用C语言实现简单通讯录管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用C语言实现简单通讯录管理系统”吧!C语言实现的通讯录管理系统,供大家参考,具体内容如下设计...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作